作者:Chancel, 更新:2019 Dec 05, 字数:3675, 已阅:619
CI工具有不少选择,像Jenkins、Codeship、Travis CI、Circle CI、TeamCity都是比较有名的CI工具,无论是个人还是团队使用CI工具都能有效提高代码迭代速度,更快的发布周期
访问Jenkins - Build great things at any scale 官网,我们可以快速找到下列安装教程
硬件配置
软件依赖
首先安装依赖 java与jdk
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
创建存放Jenkins文件夹
mkdir /store/devlop/jenkins
下载Jenkins
cd /store/devlop/jenkins
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
可选:配置Jenkins_home路径,此步骤如跳过,则运行Jenkins时会在用户目录下生成.jenkins目录作为默认目录(随着时间使用逐渐变大)
vim /etc/profile
# 添加JENKINS_HOME路径
JENKINS_HOME=/store/devlop/jenkins/jenkins_home/
# 在最后导入JENKINS_HOME
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JENKINS_HOME
# 保存并退出文件后刷新环境设置
source /etc/profile
可以通过 java -jar jenkins.war --help 获取运行参数帮助,此处考虑如下几个参数
运行Jenkins
java -jar jenkins.war --httpPort=8082 --webroot=webroot/ --pluginroot=pluginroot/
查看默认密码
cat /user/.jenkins/secrets/initialAdminPassword
如何使用supervisor,请参考以往的博客
supervisord脚本
[program:jenkins]
command=java -jar /store/devlop/jenkins/jenkins.war --httpPort=8082 --webroot=/store/devlop/jenkins/webroot/ --pluginroot=/store/devlop/jenkinspluginroot/
environment=JENKINS_HOME=/store/devlop/jenkins/jenkins_home/
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/var/log/supervisor/jenkins.error.log
stdout_logfile=/var/log/supervisor/jenkins.output.log
我主要是用来持续集成前端博客vue单页应用,此处举例VUE的集成,Jenkins支持很多持续集成方案,大同小异,如有需要可查阅官网文档
登录Jenkins管理系统首页,依次打开“系统管理” -- “管理插件” 并搜索安装如下插件
回到管理系统首页,依次打开“系统管理” -- “全局工具管理”,拉到底部
在管理系统首页,一次打开“系统管理” -- “系统设置”,找到“Publish Over SSH”,点击新增,然后点击SSH Server
# 安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 使用cnpm
cnpm install
# 打包vue
npm run build
# 以下三步用于创建上传到服务器的压缩包
cd dist
rm -rf test.tar.gz
tar -zcvf test.tar.gz *
cd ../
Transfer Set
Source files : dist/test.tar.gz
Remove prefix : dist
Remote Directory : (不填)
Exec command :
cd /home/chancel/
rm -rf one_view/
mkdir one_view/
mv /tmp/test.tar.gz one_view/
cd one_view/
tar -zxvf test.tar.gz
rm -f test.tar.gz
这6步做完之后VUE的持续集成就完成了,享受每次Push之后自动更新的首页吧!