Jenkins CI/CD
参考:
- https://hub.docker.com/_/jenkins
- https://juejin.cn/post/6881493762057945102#heading-7
- https://juejin.cn/post/7102360505313918983#heading-5
Jenkins配置
-
安装Jenkins
-
创建任务
-
配置git钩子功能
-
添加触发器
-
构建环境
-
构建步骤、执行shell脚本
- 在jenkins通过构建脚本打包好文件之后,把打包文件解压到nginx目录中
-
开始构建
-
完成构建,可以到对应的地址+端口号访问你的前端项目
参考jenkins构建脚本
npm install yarn -g
yarn install
yarn build
# 打包 build 后的文件
tar -zcvf dist.tar.gz dist/
# 删除 build 后的文件
rm -rf dist/
# 移动 build 后的压缩包到 nginx 托管目录下。
sudo mv dist.tar.gz /usr/share/nginx/html
# 进入托管目录下
cd /usr/share/nginx/html
# 解压
sudo tar -zxcf dist.tar.gz
# 删除压缩包
sudo rm -rf dist.tar.gz
安装jenkins
docker run -u root -itd --name jenkins -p 9000:8080 -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/jenkins:/var/jenkins_home jenkins/jenkins
启动命令含义 -u root: 权限等级为root -p 9000:8080 Jenkins默认网页访问端口为8080,将端口映射到外部主机端口9000 -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock使Jenkins内部可以使用docker命令 -v /volume1/docker/jenkins:/var/jenkins_home 将Jenkins的配置映射到外部主机卷,容器删除仍可保留配置
等浏览器初始化jenkins成功后,会提示需要一个初始密码,这个时候,我们可以
到/volume1/docker/jenkins/secrets/initialAdminPassword 查看密码
启动jenkins
# 启动jenkins
docker start jenkins
# 查看密码
cat /volume1/docker/jenkins/secrets/initialAdminPassword
# 查找jenkins配置文件
find / -name jenkins.xml
# 修改jenkins的端口,进入配置文件
vim jenkins配置文件
注意,服务器需要设置开放端口,才能访问,在服务器-防火墙-添加规则
配置jenkins、部署项目
-
创建用户: 当一个团队在使用Jenkins时,一般都会为不同角色创建不同账号,从而给为每个账号设置不同权限 ,这样就能相对安全的管理多个用户
- Configure System->Manges User
-
添加插件: 使用Jenkins时需要自己安装一些插件,以满足工作需要
-
创建任务
-
配置git、绑定仓库地址
-
构建触发器
-
构建环境
-
构建步骤、执行shell脚本
- 把打包好的目录映射到nginx目录中
docker run -itd --name nginx -v /volume1/docker/jenkins/workspace/react-demo/dist:usr/share/nginx/html -p 80:80 nginx -
开始构建
-
完成构建,可以到对应的地址+端口号访问你的前端项目
docker-compose一键部署启动
参考:https://juejin.cn/post/6981207521994211359#heading-13
- 使用docker-compose可以同时管理多个服务,可以启动后端项目、前端项目、数据库