跳到主要内容

Jenkins CI/CD

参考:

Jenkins配置​

  • 安装Jenkins

  • 创建任务

  • 配置git钩子功能

  • 添加触发器

  • 构建环境

  • 构建步骤、执行shell脚本

    • 在jenkins通过构建脚本打包好文件之后,把打包文件解压到nginx目录中
  • 开始构建

  • 完成构建,可以到对应的地址+端口号访问你的前端项目

参考jenkins构建脚本​

bash
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​

bash
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​

bash
# 启动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目录中
    bash
    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可以同时管理多个服务,可以启动后端项目、前端项目、数据库