使用jenkins构建自动化发布系统之构建jenkins
牛恒博 DevOps视角
jenkins安装
安装
设置jenkins目录 在catalina.sh 中定义jenkins
$ export CATALINA_OPTS="-DJENKINS_HOME=/path/to/jenkins_home/ -Xmx512m"
$ catalina.sh start
在linux环境变量中定义jenkins
$ export JENKINS_HOME=/path/to/jenkins_home/
$ catalina.sh start
在 context中定义jenkins-home
<Context ...>
<Environment name="JENKINS_HOME" value="/path/to/jenkins_home/" type="java.lang.String"/>
</Context>
安装及初始化
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
java -jar jenkins.war
http://localhost:8080
安装常用插件
选择安装
更改jenkins的家目录
jenkins的家目录默认路径在/root/.jenkins/路径。根据启动方式的不同,修改方式略有不同。
1.直接命令行启动java -jar jenkins.war
cat >>/etc/profile<<EOF
export JENKINS_HOME=/data/db/jenkins/
EOF
source /etc/profile
2.使用tomcat容器启动
vim /data/app/tomcat/bin/catalina.sh
export JENKINS_HOME=/data/db/jenkins/
# OS specific support. $var _must_ be set to either true or false.
3.修改jenkins.war包(不推荐)
vim jenkins /web.xml
<!-- if specified, this value is used as the Hudson home directory -->
<env-entry>
<env-entry-name>HUDSON_HOME</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>/data/db/jenkins/</env-entry-value> #填入路径
</env-entry>
开始安装插件
方法一
- Build Pipeline Plugin:build 流程配置插件。
- Gitlab Plugin :gitlab pull 插件。
- Gitlab Hook Plugin:gitlab 钩子插件。
- Build Authorization Token Root Plugin :用户权限验证插件。
- SonarQube Scanner for Jenkins :代码质量管理插件。
- Parameterized Remote Trigger Plugin :远程触发插件。
- AnsiColor(可选):这个插件可以让Jenkins的控制台输出的log带有颜色(就和linux控制台那样)
- Maven Integration plugin
- Extended Choice Parameter Plug-In: 图像界面配置多选参数
方法二
方法三
直接上传到文件目录(根据上文中密码文件的路径,可以知道jenkins的目录在/root/.jenkins/中)/root/.jenkins/plugins重启Jenkins
创建一个构建过程
输入项目名称--选择构建一个自由风格的软件项目
配置源码下载地址
添加gitlab的认证key,这里配置ssh的私钥
gitlab中添加ssh-key的公钥
配置构建过程
这里有个需要注意的地方,比如我们想要在远端的机器上执行相关的脚本怎么办?
最佳方案
sudo ssh -p 52113 root@192.168.56.13 "/data/scripts/web-deploy.sh"
执行立即构建-查看控制台输出
解释说明:
jenkins会git clone到jenkins的/workspace上。
[root@linux-node1 web-build16:29:46]#pwd
/root/.jenkins/workspace/web-build
[root@linux-node1 web-build16:29:56]#ls -a
. .. .git index.html README.md
[root@linux-node1 web-build16:29:58]#
[root@linux-node1 web-build16:31:49]#cat /tmp/1.txt
2017-03-01
敬请等待下篇:Sonar代码质量管理
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。