芯が強い人になるESTJ-A

# jenkins持续集成,自动化测试,CICD

IT開発 Tags: 无标签 阅读: 289

CI=Continuous integration持续集成,一天多次更新修改代码
截屏2021-11-03 12.23.41.jpg


docker run \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean

我开的端口是8000,jenkins内部端口默认8080
截屏2021-11-01 19.25.32.jpg

开启jenkins,阿里云记得开安全组
docker run -d后台 --name=给容器取个名字 -p 阿里云端口:8080 -v挂在卷 容器外/mydata/jenkins_home:容器内/var/jenkins_home jenkins/jenkins/ltsdocker装的时候软件名字

docker run -d --name=jenkins -p 8000:8080 -v /mydata/jenkins_home/:/var/jenkins_home jenkins/jenkins:lts

查看一下启动日志,找到jenkins密码

docker logs jenkins

修改成清华大学源

vi hudson.model.UpdateCenter.xml里的内容
截屏2021-11-01 19.40.52.jpg
修改后:
将 url 修改为 清华大学官方镜像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

开始安装插件

截屏2021-11-01 19.31.28.jpg

设置用户名密码,然后登陆

截屏2021-11-01 19.45.14.jpg

配置jdk

2696671285@qq.com-->Oracle123

Jenkins启动成功之后执行shll脚本

#!/bin/bash

#服务名称

SERVER_NAME=springboot

# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行  

JAR_NAME=springboot-0.0.1-SNAPSHOT

# 源jar路径  

#/usr/local/jenkins_home/workspace--->jenkins 工作目录

#demo 项目目录

#target 打包生成jar包的目录

JAR_PATH=/var/jenkins_home/workspace/springboot/target

# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建

JAR_WORK_PATH=/var/jenkins_home/workspace/springboot/target

 

echo "查询进程id-->$SERVER_NAME"

PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`

echo "得到进程ID:$PID"

echo "结束进程"

for id in $PID

do

kill -9 $id  

echo "killed $id"  

done

echo "结束进程完成"

 

#复制jar包到执行目录

echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"

cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH

echo "复制jar包完成"

cd $JAR_WORK_PATH

#修改文件权限

chmod 755 $JAR_NAME.jar

 

Nohub  java -jar $JAR_NAME.jar

权限管理分组

#配置ci用户组,创建jenkins用户,指定ci组
groupadd ci
useradd jenkins -g ci

#创建存放jenkins工具的目录,
mkdir -p /data/software
chown -R jenkins:ci /data/software

#切换jenkins用户,进入software目录
su jenkins
cd /data/software