jenkins

原创
2020/02/23 14:58
阅读数 197

需要你进入jenkins的工作目录,打开 hudson.model.UpdateCenter.xml 把 http://updates.jenkins-ci.org/update-center.json 改成 http://mirror.xmission.com/jenkins/updates/update-center.json

  • Jenkins介绍
  • Jenkins安装
  • Jenkins相关目录
  • Jenkins发布php代码
  • Jenkins配置邮件 – 内置邮件
  • Jenkins配置邮件 – 插件email-ext
  • Jenkins破解管理员密码
  • Jenkins部署java项目

持续集成: http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

1. Jenkins介绍

•官网 https://jenkins.io • Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于web界面的平台。
• Jenkins是一个工具集,提供了各种各样的插件
• 比如获取git上最新的代码
• 比如可以帮你编译源代码
• 比如可以调用自定义的shell脚本远程执行命令
• 官方文档 https://jenkins.io/doc/

2. Jenkins安装

最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8
 安装jdk1.8
 yum install -y java-1.8.0-openjdk
 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
 若安装速度慢可以跳过此步
 使用yum yum localinstall rpm包路径
 rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
 yum install -y jenkins
 systemctl start jenkins
 less /var/log/jenkins/jenkins.log //查询admin密码
 访问 http://ip:8080/ 进行安装

3. Jenkins相关目录

rpm -ql jenkins #查询jenkins相关目录
 安装目录/var/lib/jenkins
 配置文件 /etc/sysconfig/jenkins
 插件目录 /var/lib/jenkins/plugins
 密码秘钥想关目录 /var/lib/jenkins/secrets
 用户相关目录 /var/lib/jenkins/users
 升级目录 /var/lib/jenkins/upates
 日志目录 /var/log/jenkins

备份jenkins直接拷贝/var/lib/jenkins目录下所有的东西到新的服务器上

4. Jenkins发布php代码

“系统管理”“管理插件”“已安装”
 检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装
 安装好两个插件后,点击“系统管理” “系统设置”
 下拉,找到“Publish Over SSH”
 事先在一台linux服务器上生成一对密钥
 ssh-keygen -f /root/.ssh/jenkins //可以设置密码,也可不设置
 “Passphrase”填写设置的密码, “Path to key”留空,“key”粘贴/root/.ssh/jenkins文件内容
 点击左下角“增加”,SSH Server,name自定义,Hostname填写线上web服务器的ip,Username填写root,Remote Directory填写/
 如果是多台web server,继续点击“增加”,重复以上操作
 点左下角的“保存”
点击“新建”,任务名称自定义,比如test,选择“构建一个自由风格的软件项目”点击下方的“确定”
 描述,自定义
 “源码管理”选择 “Git”
 “Repository URL”填写你项目的git地址,如果是公共项目可以不设置下面的参数,
 直接填写一个git地址即可,若是私有项目,需要填写认证信息,比如可以选择 “SSH Username whith private key”,
 然后设置Username以及private key
 “Branches to build” 默认为*/master,意思是发布的分支为master,保持默认
 “构建触发器”和“构建环境”留空
 “构建”,选择 “Send files or execute commands over SSH” 
 SSH Server,Name 选择对应的服务器,Transfers, Source files填写**/**,表示全部文件
Remove prefix可以指定截掉的前缀目录,这里留空即可,Remote directory指定远程服务器上代码存放路径,
比如/data/wwwroot/www.aaa.com,Exec command为文件传输完成后要执行的命令,
比如可以是更改文件权限的命令,设置完成后点击 “Add Transfer Set”,如果还有另外的机器
,可以点击 “Add Server”重复以上操作
 最后点击左下角的“保存”
 完成以上操作后,就可以使用这个刚刚创建的任务去工作了。
 点击左面的“立即构建”,就能把git上的代码发布到指定的服务器上。
 点击左下角的#1/#2… ,然后再点击 “Console Output”可以查看输出日志

5. Jenkins配置邮件 – 内置邮件

 系统管理 -> 系统设置 -> Jenkins Location 先设置系统管理员邮件地址,这里的邮件地址需要和后续要设置的发邮件地址一致。
 往下拉,找到“邮件通知”那一栏
 填写SMTP服务器,点右侧的高级,打勾“使用SMTP认证”,填写用户名密码,如果使用的是ssl协议,
 还需要在这里打勾,smtp端口默认为25
 可以打勾“通过发送测试邮件测试配置”,然后填写接收邮件的地址,点右侧的Test configuration
 然后就是到已经构建过的job里去配置接收邮件的地址了。在最下面“构建后操作”那一栏,
 找到E-mail Notification,Recipients填写收邮件人
 这个收件人只会在job构建失败时才能收到邮件

6. Jenkins配置邮件 – 插件email-ext

 插件名字Email Extension Plugin,默认已经安装
 系统管理->系统设置->Extended E-mail Notification 
 填写SMTP server,点击Use SMTP Authentication,填写用户名、密码、SMTP port等
 还需到对应构建任务中去配置一下,下拉到“构建后操作”
 点击“增加构建后操作步骤”,选择“Editable  Email Notification”,其中Project Recipient List为接收邮件的收件人,
 可以在默认内容后面增加额外的收件人邮箱,用逗号分隔
 点击右下角的“Advanced settings”,定位到“Triggers”,然后点击下方的“Add Trigger”,可以增加发邮件的条件。
 参考文章http://www.cnblogs.com/zz0412/p/jenkins_jj_01.html

7. Jenkins破解管理员密码

 cd /var/lib/jenkins/users/admin #可能不是admin文件夹admin带了后缀
 vim config.xml//定位到<passwordHash>那一行
 删除改行,改为
  <passwordHash>#jbcrypt:$2a$10$O2SrFoV1F7BcFzc/LDf0W.izDfAgfiPVTw/xXtjWjh9qGFhbT5dIu</passwordHash>
 重启一下jenkins
 新密码为123456

8. Jenkins部署java项目

java的项目是需要编译和打包的
 编译和打包用maven完成,所以需安装maven
 本次实验,我们采用git私有仓库的形式,涉及到配置密钥
 准备工作:
 自己申请一个私有git仓库(coding.net/github.com/g.lishiming.net)
 生成密钥对
 把公钥放到git服务端
 下载zrlog的源码 https://codeload.github.com/94fzb/zrlog/zip/master 
 下载的文件为zip压缩文件,需要解压
 然后用git push到新建的私有仓库里
在另外一台机器上安装jdk + tomcat,其中jdk可以为openjdk,版本1.8
 tomcat需要下载二进制包  
 wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz
 tar zxvf apache-tomcat-8.5.23.tar.gz
 mv apache-tomcat-8.5.23 /usr/local/tomcat
 vim /usr/local/tomcat/conf/tomcat-users.xml //增加如下内容
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user name="admin" password="aminglinux.com" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
 启动tomcat
安装maven
 下载地址  https://maven.apache.org/download.cgi
 wget  http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
 tar zxvf apache-maven-3.5.2-bin.tar.gz
 mv apache-maven-3.5.2 /usr/local/
 /usr/loca/apache-maven-3.5.2/bin/mvn --version
 jenkins -> 系统管理 -> 全局工具配置
 Maven Configuration -> Settings file in filesystem -> File Path /usr/local/apache-maven-3.5.2/conf/settings.xml
 Global settings file on filesystem -> File Path 同上
 下拉到Maven,Maven安装,Name(自定义,如maven3.5.2),MAVEN_HOME填 “/usr/local/apache-maven-3.5.2”
 左下角“save”
系统管理 -> 管理插件,检查是否已经安装 Maven Integration plugin 和 Deploy to container Plugin,若没有安装则需要安装这两个插件
 安装完插件后,需要重启jenkins
 systemctl restart jenkins
 创建新任务
 登录jenkins,点击“新建”,任务名称自定义(我的叫做java-test)
 选择“构建一个maven项目”
 点击“确定”
源码管理
 选择 “git”, Repository URL填写你的git地址,并配置对应的key,大家最好事前先在jenkins这台机器上能够直接远程git操作私有仓库
 构建触发器、构建环境、Pre Steps保持默认
 Build
“Root POM”为pom.xml, Goals and options 填写 clean install -D maven.test.skip=true
 Post Steps、构建设置保持默认
 构建后操作
 点击“增加构建后操作步骤”选择“Deploy war/ear to a container”,“WAR/EAR files”填写“**/*.war”,Contex path留空,Containers选择Tomcat 8.x,Tomcat URL填写要把war包发布到的那台机器的url,如http://172.7.15.114:8080
 Credentials这里需要点击右侧的Add,添加用户名和密码
继续点击“增加构建后操作步骤”选择“Editable Email Notification”
 Project Recipient List,改为$DEFAULT_RECIPIENTS,aming_test@163.com, 意思是增加额外一个收件人
 点击右下角的“Advanced settings”,定位到“Triggers”,然后点击下方的“Add Trigger”,可以增加发邮件的条件。
 最后点左下角的“保存”
 之后就可以点左侧的“立即构建”,然后查看对应任务的“Console Output”
展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部