Jenkins环境搭建总结

    Jenkins是一个用Java编写的开源的持续集成(CI)工具,可持续、自动地构建/测试软件项目,监控一些定时执行的任务。具备开源,支持多平台和插件扩展,安装简单,界面化管理等特色。java

1、Jenkins安装shell

1.安装OpenJDKbash

[root@localhost ~]#yum install java-1.7.0-openjdk
[root@localhost ~]#java -version
java version"1.7.0_131"
OpenJDK RuntimeEnvironment (rhel-2.6.9.0.el6_8-x86_64 u131-b00)
OpenJDK 64-BitServer VM (build 24.131-b00, mixed mode)

2.yum安装Jenkins stable版本服务器

[root@localhost ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
[root@localhost ~]# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
[root@localhost ~]# yum install jenkins

安装好后,jenkins的主目录位于/var/lib/jenkins,这也是jenkins用户的家目录。网络

jenkins主程序:/usr/lib/jenkins/jenkins.warssh

jenkins配置文件:/etc/sysconfig/jenkinscurl

jenkins启动脚本:/etc/init.d/jenkinside

jenkins日志目录:/var/log/jenkinssvn

3.启动Jenkins工具

[root@localhost ~]# service jenkins start
[root@localhost ~]# chkconfig jenkins on

4.访问Jenkins,进行初始化设置

http://jenkins_server_ip:8080

2、Jenkins插件安装演示

1.在线安装语言插件

进入Manage Jenkins->Manage Plugins->Available,找到"Locale plugin"并安装,安装过程当中会自动处理好插件的依赖。

在线安装插件可能因为网络缘由安装失败,记下安装失败的插件和安装顺序,而后使用下面的方法离线安装。

2.离线安装插件

访问网址https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/,搜索上一步安装失败的那些插件,下载下来。

进入Manage Jenkins->Manage Plugins->Advanced,选择插件文件并上传。

wKiom1j9vvuAOReqAAAfUbLgMP8275.png-wh_50

注意:要按照依赖顺序一个一个安装插件。

安装好后重启Jenkins(能够经过访问http://jenkins_server_ip:8080/restart重启)。

3.设置语言为中文

进入Manage Jenkins->Configure System,在"Default Language"位置输入zh_CN,保存当即生效。

wKioL1j9vx_y9-yyAAAUJIhHTyg159.png-wh_50

3、安装SVN插件

1)进入"系统管理"->"插件管理"->"可选插件",找到"Subversion Plug-in"并安装。

2)SVN插件安装好后,咱们建立一个新项目。

在项目配置的"源码管理"部分,咱们能够对svn仓库进行配置了。

wKiom1j9vzeRXtjMAABGWB2_XRA912.png-wh_50

4、安装SSH插件

1)进入"系统管理"->"插件管理"->"可选插件",安装"Publish Over SSH"插件。

2)配置SSH免密码登陆到远程服务器

usermod -s /bin/bash jenkins
su - jenkins
ssh-keygen -t rsa

将公钥推送到远程主机:

ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 10022 root@192.168.1.211'

3)进入"系统管理"->"系统设置",找到Publish over SSH配置段。

wKioL1j9v1GwmzX2AAB0mqgHA3M013.png-wh_50

  • Jenkins SSH Key(插件的全局配置)

Passphrase:密码(key的密码,通常咱们不会设置)

Path to key:key文件(私钥)的路径

Key:将私钥复制到这个框中(与Path to key二选一)

Disable exec:禁止远程运行命令

  • 添加SSH远程主机

SSH Server Name:自定义远程主机的名字

Hostname:ssh远程链接的ip地址

Username:用户名

Remote Directory:远程目录

Use password authentication, or use a different key:选中展开就能够配置新的私钥,不使用全局配置。

Port:SSH端口

Timeout (ms):超时时间(毫秒)

Disable exec:禁止运行命令(只对当前配置的ssh主机生效)

Test Configuration:测试链接,链接成功会返回Success

5、项目配置

1.新建一个项目

新建一个项目,输入项目名称,选择“构建一个自由风格的软件项目”。

wKioL1j9v2XgmPEEAACe9EGN0jM066.png-wh_50


2.构建触发器

wKioL1j9v6Lxq6JGAAAbY6uqRE8175.png-wh_50

  • 触发远程构建

wKiom1j9v9bTYiD2AAA18u4HnRk310.png

远程构建URL:

JENKINS_URL/job/JOB_NAME/build?token=TOKEN_NAME

咱们能够在URL末尾加上&cause=Cause+Text描述构建缘由。

例如:

http://192.168.1.203:8080/job/testjob1/build?token=testjob1token

脚本调用方法:

curl -v -u 用户名:登陆密码 远程构建URL

wKiom1j9v-KTWpQOAACDkr3ufWw377.png-wh_50

  • Build after other projects are built

指定的项目完成构建后,才触发此项目的构建。

  • Build periodically

按指定的时间频率对项目进行构建。

  • Poll SCM

按指定的时间频率检查源代码仓库的变化,如发现变化则执行构建。

3.构建环境

wKiom1j9v-6Tq2kbAAAZ6-jzQL8859.png-wh_50

  • Send files or execute commands over SSH before the build starts

构建开始前经过ssh给远程主机发送文件或者执行命令。

  • Send files or execute commands over SSH after the build runs

构建结束后经过ssh给远程主机发送文件或者执行命令。

这两个选项是在安装了“Publish Over SSH”插件后出现的,比较实用。配置介绍:

wKioL1j9wAKyKNVIAACOLh1dXuc991.png-wh_50

Name:在系统设置里配置的SSH远程主机的名字

Source files:上传的文件或目录(相对于项目工做区的路径,非绝对路径。能够填写多个,默认用逗号分隔)

Remove prefix:移除Source files的目录前缀

Remote directory:远程主机的上传目录(若是目录不存在会自动建立)

Exec command:要远程执行的命令

Flatten files:只上传文件,不建立目录(除了远程目录)

4.构建步骤

wKioL1j9wCnTPU77AAAhH5aSBeQ878.png-wh_50

  • Execute Windows batch command

执行Windows批处理脚本(Jenkins安装在Windows系统中)。

  • Execute shell

执行Linux shell脚本(Jenkins安装在Linux系统中)。

  • Invoke Ant

JenKins与Ant集成实现项目的自动化构建部署,适用于Ant做为构建工具的项目。

  • Invoke top-level Maven targets

JenKins与Maven集成实现项目的自动化构建部署,适用于Maven做为构建工具的项目。

  • Send files or execute commands over SSH

经过ssh给远程主机发送文件或者执行命令。“Publish Over SSH”插件的功能。

5.参数化构建

经过参数化构建功能,咱们能够为构建程序传递参数,灵活控制构建流程。

在项目配置里点选“参数化构建过程”,而后选择“添加参数”,jenkins提供了多种参数类型:

wKiom1j9v3LBaZocAAB3KSKd6N8738.png-wh_50

举个例子,咱们添加两个参数:

  • 参数level是Choice类型,可选值1和2,默认值是1。

wKioL1j9v3_ihbAKAAA4necoiKs349.png-wh_50

  • 参数text是String类型,默认值是“hello world”。

wKiom1j9v4mjEcW-AAAW9MFbmFs506.png-wh_50

参数设置好后,咱们能够在构建脚本里引用这些变量。

Windows平台引用方法:%var_name%

Linux平台引用方法:${var_name}

配置完整个项目后,咱们手动运行构建:

在项目面板的左侧选择“Build with Parameters”,先对参数值进行修改,而后点击“开始构建”。

wKioL1j9v5WwdRzQAAB4TGOYSDo828.png-wh_50

参数化远程构建URL(经过访问url触发构建):

JENKINS_URL/job/JOB_NAME/buildWithParameters?token=TOKEN_NAME&PARM1=VALUE1&PARM2=VALUE2…

例如:

http://192.168.1.203:8080/job/testjob1/buildWithParameters?token=testjob1token&level=2&text=hello+world

脚本调用方法:

curl -v -u 用户名:登陆密码 远程构建URL

相关文章
相关标签/搜索