在前后端并行开发时,需要搭建简易MockServer服务。
- GitLab负责接口文章管理;
- Jenkins负责与监听Git Push操作;
- json-server简易REST服务。
json-server 部署
- 拉取json-server
docker pull clue/json-server - 创建容器
docker run --restart=always --name json-server -d -p 8083:80 -v /app/jenkins_home/json-server/:/data/ clue/json-server
问题:启动失败,报错:json-server [options] <source>。
解决:需提前在/app/json-server文件夹内内置初始化json文件。
GitLab 自动化
Jenkins
-
安装插件
插件
- 新建任务,并设置配置项
image.png
GitLab -
设置webhook。路径:setting-integrations
webhook
点击test测试,如果报错403,设置jenkins全局安全配置
image.png
到此已基本完成自动化操作。
流程为:提交git - webhook调用jenkins - 执行jenkins任务 - 重启json-server
问题:
- json-server、jenkins都使用docker部署。在jenkins编译完成后,需要调用脚本,返回主机重启json-server服务。
chmod +x /app/jenkins_home/json-server/restartJsonServer.sh;
cd /app/jenkins_home/json-server;
./restartJsonServer.sh;
#!/usr/bin/expect -f
set timeout 30
spawn ssh -l root 服务IP
expect "password:"
send "登录密码\r"
expect "]#"
send "docker restart 容器ID\r"
expect "]#"
interact
- sh文件no found。本地运行,发现缺少expect。安装即可
网友评论