目的:实现推送Gitee后,Jenkins自动获取文件部署
环境:CentOS 7.6、JDK11
参考来源:
安装Jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 如果证书报错执行以下命令
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum upgrade
# 此处安装java11
sudo yum install epel-release
sudo yum install jenkins
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl status jenkins
修改启动端口
先去阿里云开放端口,然后找到服务器的配置文件进行修改
cd /etc/sysconfig
vim jenkins
# 修改这一行:JENKINS_PORT="xxxx"
初始化Jenkins
打开服务器IP的对应端口,需要先解锁Jenkins
cat /var/lib/jenkins/secrets/initialAdminPassword
安装推荐的插件
创建管理员用户,保存并完成
创建Jenkins任务
由于是私有仓库,所以报错。
输入账号密码,报错消失。
选择构建dev分支,保存
点进项目
点开工作区,什么都没有,需要点击一次立即构建
填写打包的shell脚本
点击配置,选择构建,执行shell
我这个项目是用yarn跑的,所以用的是yarn的命令,需要先安装一次yarn,然后就是安装依赖、打包、复制到Nginx配置的对应路径
npm install -g yarn
yarn install
rm -rf ./dist/*
yarn build
rm -rf /www/vue/colorful/*
cp -rf ./dist/* /www/vue/colorful
安装NodeJS
编写好shell脚本后,不急着构建,需要先安装node
直接在搜索栏搜索即可,我这里已经装过了,所以搜不出来
全局工具配置
新增NodeJS,保存
回到项目,点击构建环境,为项目提供node环境,保存
此时点击立即构建,应该还是失败的
给予权限
当我们在服务器上安装jenkins时,会在服务器上创建一个jenkins的用户。但是这个jenkins没有操作/www/vue/colorful文件夹的权限
为Jenkins用户添加/www文件夹的所有权限
chown -R jenkins:jenkins /www
回到项目,点击立即构建,此时应该为成功
自动化部署
安装码云插件,我这里装过了,所以搜不出来
打开系统配置
找到Gitee配置,填写内容
需要打开https://gitee.com/profile/personal_access_tokens
生成令牌,复制Gitee APIV5私人令牌,保存
回到项目,选择刚才配置的Gitee
选中Gitee WebHook触发构建,构建策略这里暂时只选择推送
筛选仅dev构建
生成Gitee WebHook密码
打开码云的项目管理,添加WebHook,填入Jenkins给的地址和密码
保存,至此已全部完成。
补充
shell脚本那边,第一次构建安装完yarn之后,后面就可以不再安装了,可以删掉下列命令
npm install -g yarn
Q.E.D.