jenkins 使用脚本完成项目构建
整体过程:开发人员使用 git 将最新代码推送到 gitlab,使用 jenkins 将最新代码推送到上线环境
本节信息:熟悉 jenkins 在服务器中存储项目的位置,熟悉 cicd 持续集成/交付
脚本如下,由于我的 jenkins 和 nginx 都部署在一台机器上,所以 copy 到本机 nginx 部署的路径下就可以
需要注意新的文件的权限文件,如果 nginx 对文件没用操作权限访问会 403
#!/bin/sh
# NGINX_HOST=10.0.0.22
CODE_DIR=/root/.jenkins/workspace/freestyle-demo
TIME=$(date +%F-%H-%M-%S)
cd $CODE_DIR && tar -czf /opt/temp/web-${TIME}.tar.gz ./*
# scp /opt/temp/web-${TIME}.tar.gz ${NGINX_HOST} /opt/web-${TIME}.tar.gz
cp /opt/temp/web-${TIME}.tar.gz /opt/web-${TIME}.tar.gz
cd /opt/ && mkdir web-${TIME} && chmod +r -R web-${TIME}
tar -xzf web-${TIME}.tar.gz -C web-${TIME}
rm -rf web-${TIME}.tar.gz && rm -rf StaticPage-master
ln -s web-${TIME} StaticPage-master
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
在 gitlab 构建脚本,观察控制台返回结果是正常的



总体流程:
