前言
在平常项目开发中,我们常见的开发部署流程(这边以vue为例):
一系列枯燥重复的操作。那我们能不能通过一些工具来帮我们处理这些操作,让我们只需要专注于代码逻辑的层面的开发?答案当然是肯定的,下面主要介绍下使用Jenkins来实现前端自动化工作流搭建的过程。
Jenkins是什么
Jenkins 是一款业界流行的开源持续集成工具,监控持续重复的工作。广泛用于项目开发,具有自动化构建、测试和部署等功能。
centos7下搭建Jenkins持续集成环境(安装jenkins)
Java环境安装
安装JDK
yum install java-1.8.0-openjdk
Jenkins安装
添加Jenkins库到yum库,Jenkins将从这里下载安装。
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install -y jenkins
如果不能安装就到官网(pkg.jenkins-ci.org/redhat-stab…)下载jenkis的rmp包
wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
rpm -ivh jenkins-2.7.3-1.1.noarch.rpm
配置jenkis的端口
vi /etc/sysconfig/jenkins
找到修改端口号:
JENKINS_PORT="8080" 若该端口不冲突可以不修改
Jenkins启动
service jenkins start/stop/restart
- 安装成功后Jenkins将作为一个守护进程随系统启动
- 系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者
- 启动的时候将从/etc/sysconfig/jenkins获取配置参数
- 默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
- Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo
打开Jenkins
在浏览器中访问 首次进入会要求输入初始密码如下图, 初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。
创建超级管理员账号
Jenkins配置自动构建部署
前期准备
在【系统管理(Manage Jenkins)】--【插件管理(Manage Plugins)】安装一些必要的插件
安装NodeJS
点击【系统管理(Manage Jenkins)】--【全局工具配置(Global Tool Configuration)】
找到【NodeJS】,点击新增【NodeJS】
填写一下别名,点击保存
安装插件【 publish over ssh 】,用于自动构建发包到服务器上
【系统管理(Manage Jenkins)】--【插件管理(Manage Plugins)】,搜索插件【publish over ssh 】,点击安装即可
安装完成后,到【系统管理(Manage Jenkins)】——【系统设置(Configure System)】,找到Publish over SSH,点击新增。
配置服务器相关信息
点击【高级】进行其他配置
测试配置
新建项目
选择【构建一个自由风格的软件项目】;
名称必须填英文(否则部署的过程可能会出现问题)
项目配置
新建完之后会直接跳到项目配置
General
勾选【参数化构建过程(This project is parameterized)】;
点击 》 添加参数--选项参数(Choice Parameter);
填写 》选项参数(Choice Parameter);
并且继续选择 》添加参数——字符参数(String Parameter)
status
deploy
roll_back
|deploy : 发布 |
----------------
|roll_back : 回滚 |
填写 》字符参数(String Parameter)
version
0
↑*回滚选项*↑
--------------------------------
** 回滚请填写回滚版本号 **
--------------------------------
源码管理
1、选择Git;2、填写仓库地址;3、添加git的用户名,密码; 4、填写用来发布的分支;
选择凭证,最终完成git的配置
构建触发器
选择》Provide Node & npm bin/ folder to PATH 选项,如果之前的NodeJS没有安装成功,则看不到这个选择
构建
点击【增加构建步骤】;
选择 》执行Shell (Execute Shell)
填写命令
case ${status} in
deploy)
node -v
npm -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm -v
cnpm install
cnpm run build
echo "Status:$Status"
path="D:/frontEnd/payCenterBackup/${BUILD_NUMBER}"
mkdir -p $path
\cp -r ${WORKSPACE}\\dist $path
echo "Completing!"
;;
roll_back)
echo "status:$status"
echo "version:$version"
cd ${WORKSPACE}
rm -rf dist
cd D:/frontEnd/payCenterBackup/$version
\cp -r dist ${WORKSPACE}/
;;
esac
构建后操作
关联发布的服务器,选择【Send build artifacts over SSH】,要先安装插件【 publish over ssh 】,否则可能不会有这个选项,上面的前期准备有写安装方法。
SSH Publishers配置信息
最终效果
钉钉机器人提醒
安装Gitee插件
配置Gitee插件信息
生成令牌
安装钉钉插件
创建项目
新建item
构建任务,选择适合你的选项,输入名字 ,点击确定
General配置,项目url,把你的Gitee项目的url拷贝过来
填写了上面的url后:
源码管理
- Repository URL:仓库地址(用SSH地址)
- Credentials:凭证,点击“添加”
- Branches to build:构建的分支
- 源码浏览器:你所使用的代码仓库管理工具,如github, gitlab.
点击“添加”,输入相应内容后“添加”,在Credentials右侧下拉选择“你的Gitee账号+描述”
构建触发器 (保存Gitee WebHooks密码,后面Gitee(码云)WebHooks设置用到)
构建环境:指定构建工具
构建后操作(可以多选)
创建钉钉机器人
选择一个要推送给的钉钉群组-》设置-》智能群助手-》添加机器人
钉钉access token
构建成功后通过Gitee发送到钉钉群
配置Gitee的WebHooks
出现错误:{"errcode":310000,"errmsg":"keywords not in content"}
没关系的,因为这个请求里面没有包含:你创建机器人时 “自定义关键词” (所以关键字写项目名、经常出现的字……)
测试效果
这里可以很清楚的看到谁对分支进行了操作,具体修改了什么都有迹可循。
完结!撒花!
感谢
本次分享到这里就结束了,感谢您的阅读,如果本文对您有什么帮助,别忘了动动手指点个赞 ❤️ 和关注。
更多内容欢迎关注访问下面二维码或搜索公众号:修行全栈,获取更多实用内容。