qt_saas_erp_test
qt_saas_mes_test
Repository URL:http://10.82.1.200/qt-saas/qt-saas.git
Credentials:选择有效证明
指定分支(为空时代表any):*/dev
Build when a change is pushed to GitLab. GitLab webhook URL: http://10.210.2.51:90/project/qt_saas_erp_test
勾选:
Push Events
Opened Merge Request Events
Approved Merge Requests (EE-only)
Comments
勾选:
Enable [ci-skip]
Ignore WIP Merge Requests
Set build description to build cause (eg. Merge request or Git Push)
选择:
Filter branches by regex
在Source Branch Regex填写框写入设置的分支名字
text
注意:此时写入的test表示在提交代码到test分支的时候才会执行Jenkins构建项目到docker容器中
Maven版本:
maven3.8.5
目标:
clean package -pl service/erp-service -am -Dmaven.test.skip=true
SSH Server
Name
10.82.1.201
Transfer Set
Sourcefiles
service/erp-service/target/*.jar
注意:此处写入的是带前缀的jar包名
Remove prefix
service/erp-service/target
注意:此处写入的是取消前缀名
Remote directory
/home/java/qt-saas/erp
注意:此处写入的是Jenkins构建进Linux系统下的目录
Exec command
rm -f erp-servuce.jar
mv -f /root/home/java/qt-saas/erp/erp-service-1.0.0-SNAPSHOT.jar /var/lib/docker/home/java/qt-saas/erp/erp-service.jar
erp-service.sh restart
注意:此处写入的是Jenkins构建项目到Linux环境下以后会进行的一些操作
点击进行保存
点击进入gitlab中的设置
Name
Jenkins
选择复选框:api Access the authenticated user’s API
Full access to GitLab as the user, including read/write on all their groups and projects
注意:api访问认证用户的api
以用户身份完全访问GitLab,包括对其所有组和项目的读写
URL
http://127.0.0.1:90/project/qt_saas_erp_test
注意:此处写入的是Jenkins项目配置GitLab的地址
Secret Token
a9e3f637ef6fadd71292666bd46bdce6
注意:此处写入的是GitLab中的Token
最后点击Add webhook进行创建
点击系统管理—>Manage Credentials
范围:默认全局
API token
erbg4u_x1buzXSpP_C29
注意:此处写入的是GitLab处得到的API token
点击系统管理—>系统配置—>GitLab
勾选复选框:Enable authentication for ‘/project’ end-point
GitLab connections
Connection name
Jenkins
注意:此处写入的是在GitLab配置Jenkins的名字
Gitlab host URL
http://10.82.1.200
注意:此处写入的是GitLab的服务器地址
Credentials
此处选择GitLab API token
erbg4u_x1buzXSpP_C29
以上Jenkins以及GitLab就创建好了
/root/setup/docker/
https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz
由于国内网络问题,需要配置加速器来加速。修改配置文件 /etc/docker/daemon.json
下面命令直接生成文件 daemon.json
cat < /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/var/lib/docker"
}
EOF
下载Java:8镜像
docker pull java:8
启动java:8镜像
docker run java:8
在第一次启动项目时进行docker build
/var/lib/docker/home/java/qt-saas/erp/
#指定基础镜像
From java:8
#将本地文件夹挂载到当前容器
VOLUME /root/home/java/qt-saas/erp
#复制文件到容器
ADD erp-service.jar /app.jar
#声明需要暴露的接口
EXPOSE 8102
#配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/app.jar"]
docker build -f /var/lib/docker/home/java/qt-saas/erp/erp-service .
进入jar包所在的目录下
cd /var/lib/docker/home/java/qt-saas/erp/
创建shell脚本
vim erp-service.sh
编写脚本
#!/bin/bash
user=erp-service
#启动
start(){
docker run -d -p 8302:8102 $user;
echo "******************* start $user success *******************"
}
#停止
stop(){
echo "******************* Please wait *******************"
docker stop `docker ps -a| grep $user | awk '{print $1}' `
echo "******************* stop $user success *******************"
#删除
docker rm `docker ps -a| grep $user | awk '{print $1}' `
echo "******************* delete $user success *******************"
}
case "${1}" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Userage: $1 {start|stop|restart}"
exit 1
esac
为脚本赋权
chmod 777 erp-service.sh
ln -s /var/lib/docker/home/java/qt-saas/erp/erp-service.sh /usr/bin/
注意:进行软连接后可以在任意目录使用shell脚本
mes项目打包如erp所示