Jenkins持续集成自动化部署
自动化部署流程:【git push提交代码 】——>【触发Jenkins自动构建】——>【拉取GitHub代码】——>【build打包】——>【生成dist文件】——>【压缩dist文件】——>【迁移到指定环境目录下】——>【删除指定环境目录下的dist文件】——>【解压迁移过来的dist.tar】——>【删除dist.tar】——>【Success】
一、Jenkins安装
1. 构建如下的目录
.
├── docker-compose.yml
└── jenkins
└── jenkins_home
2. 赋予jenkins最高权限
chmod 777 jenkins/*
3. 编写docker-compose.yml
version: '3'
services:
jenkins:
image: jenkinsci/blueocean
container_name: jenkins
restart: always
user: root # root权限
ports:
- "8080:8080"
- "50000:50000"
volumes:
- ./jenkins/jenkins_home:/var/jenkins_home
- /usr/bin/docker:/usr/bin/docker # 挂载Docker 可选
- /usr/local/apache-maven-3.8.6:/usr/local/maven # 挂载maven 可选
- /usr/local/jdk8:/usr/local/jdk8 # 挂载jdk 可选
environment:
- "TZ=Asia/Shanghai"
或者使用docker也行
docker run -d \
--name jenkins \
-u root --privileged=true \
-p 8080:8080 -p 50000:50000 \
-v ~/jenkins_home:/var/jenkins_home \
-v /usr/local/jdk8:/usr/local/jdk8 \ # 挂载jdk 可选
-v /usr/local/maven:/usr/local/maven \ # 挂载maven 可选
-v $(which docker):/usr/bin/docker \ # 挂载 /usr/bin/docker 可选
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:2.346.3-2-centos7-jdk8
4. 执行命令 docker compose up -d
等待构建完成
[root@localhost docker_home]# docker compose up -d
[+] Running 18/18
✔ jenkins 17 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 49.5s
······
······
······
✔ 14a67803c2b3 Pull complete 31.7s
[+] Running 1/1
✔ Container jenkins Started 0.0s
[root@localhost docker_home]#
[root@localhost docker_home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
03008fe2ca4b jenkins/jenkins:lts "/sbin/tini -- /usr/…" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:50000->50000/tcp, :::50000->50000/tcp jenkins
[root@localhost docker_home]#
5. 访问jenkins http://ip:8080
第一次进入输入初始密码,查看初始密码
进入容器查看
cat /var/jenkins_home/secrets/initialAdminPassword
在挂载后的目录也能查看
cat jenkins/jenkins_home/secrets/initialAdminPassword
或者
docker logs jenkins
也能查看
6. 插件安装和初始化配置
创建管理员账号,保存并完成
选择安装推荐的插件
插件安装可能安装失败,安装失败不用管,继续,后面更改为国内镜像后再安装
把镜像源替换为国内的
【系统管理】-【插件管理】-【高级】将 http://updates.jenkins-ci.org/update-center.json
替换为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
重启jenkins后更新插件
汉化插件安装 Locale
二、插件安装
安装Publish Over SSH、NodeJS
1. 配置Publish Over SSH
安装完成后重启jenkins
配置Publish Over SSH
【系统管理】-【系统配置】找到Publish Over SSH,点击新增SSH Servers
点【高级】填密码,应用,保存
2. NodeJS配置
【系统管理】——>【全局工具配置】——>【NodeJS 安装】 配置安装NodeJS的基本信息,自定义别名、选择安装版本,最后,先点击应用再保存。
三、配置maven和JDK
没有挂载宿主机的maven和jdk需要自己给容器安装
进入容器
shelldocker exec -it jenkins bash
选择安装到 /usr/local 下
shellcd /usr/local
下载maven
shellwget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压
shelltar -zxvf apache-maven-3.6.3-bin.tar.gz rm apache-maven-3.6.3-bin.tar.gz # 删除安装包
改名 可选
shellmv apache-maven-3.6.3/ maven
配置环境变量
shellvi /etc/profile #set Maven environment export MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH # 生效profile文件 source /etc/profile
四、添加凭据
添加凭据,也就是GitHub或者其他远程仓库的账号密码
五、创建job
第一次部署的Jenkins没用Job,创建一个,首页右边视图中,点击Create a job
输入项目名称:测试项目,选择构建一个自由风格的软件项目,点击确定
接下来需要配置项目的一些信息就可以使用了