阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Jenkins安装与配置详解

136次阅读
没有评论

共计 5399 个字符,预计需要花费 14 分钟才能阅读完成。

一、相关概念

1.1 Jenkins 概念:

Jenkins 是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成 Jenkins 可以用于一些测试和部署技术。Jenkins 是一种软件允许持续集成。

1.2 Jenkins 目的:

1、持续、自动地构建 / 测试软件项目。
2、监控软件开放流程,快速问题定位及处理,提示开放效率。

1.3 特性:

开源的 java 语言开发持续集成工具,支持 CI,CD。
易于安装部署配置:可通过 yum 安装, 或下载 war 包以及通过 docker 容器等快速实现安装部署,可方便 web 界面配置管理。
消息通知及测试报告:集成 RSS/E-mail 通过 RSS 发布构建结果或当构建完成时通过 e -mail 通知,生成 JUnit/TestNG 测试报告。
分布式构建:支持 Jenkins 能够让多台计算机一起构建 / 测试。
文件识别:Jenkins 能够跟踪哪次构建生成哪些 jar,哪次构建使用哪个版本的 jar 等。
丰富的插件支持: 支持扩展插件,你可以开发适合自己团队使用的工具,如 git,svn,maven,docker 等。

1.4 产品发布流程:

产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
持续集成(Continuous integration,简称 CI)
持续交付(Continuous delivery)
持续部署(continuous deployment)

二、安装部署

2.1 yum 安装

最低配置:不少于 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 && \
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key &&\
yum clean all && yum makecache && \
yum install -y jenkins && \
systemctl start jenkins

less /var/log/jenkins/jenkins.log // 查询 admin 密码
访问 http://ip:8080/ 进行安装
jenkins 相关目录:
rpm -ql jenkins #查看 jenkins 安装相关目录
安装目录 /var/lib/jenkins
配置文件 /etc/sysconfig/jenkins
日志目录 /var/log/jenkins

2.2 下载 war 包安装

yum install -y java-1.8.0-openjdk && mkdir -p /usr/local/jenkins/ && \
wget -c -O /usr/local/jenkins/jenkins.war http://mirrors.jenkins.io/war-stable/latest/jenkins.war &&\
nohup java -jar /usr/local/jenkins/jenkins.war &

密码查看:/root/.jenkins/secrets/initialAdminPassword
访问 http://ip:8080/ 进行安装

2.3 docker 形式安装

yum install docker -y  && systemctl start docker && \
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s && systemctl restart docker
docker search jenkins
docker pull docker.io/jenkins
docker run -d -p 8080:8080 docker.io/jenkins

docker exec -it 52873fa3dce4 /bin/bash
cat /var/jenkins_home/secrets #查看密码
访问 http://ip:8080/ 进行安装

2.4 相关工具安装

工具安装可在 jenkins 的 web 界面 系统管理— 管理插件 — 可选插件勾选需要的,也可以手动安装。

a.git 安装

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker wget autoconf -y
wget https://www.kernel.org/pub/software/scm/git/git-2.7.3.tar.gz
tar xf git-2.7.3.tar.gz
cd git-2.7.3
make configure
./configure --prefix=/usr/local/git
make profix=/usr/local/git
make install
echo "export PATH=$PATH:/usr/local/git/bin" > /etc/profile.d/git.sh
source /etc/profile.d/git.sh

b.maven 安装

cd /usr/local/ && wget -c wget  http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz &&\
tar -zxf apache-maven-3.5.2-bin.tar.gz && \
echo "export PATH=$PATH:/usr/local/apache-maven-3.5.2/bin" > /etc/profile.d/maven.sh && \
source /etc/profile.d/maven.sh

mvn –version 查看版本

c.svn 安装

yum install subversion -y
mkdir /svnrepo
svnadmin create /svnrepo/project1      # 创建一个新的 Subversion 项目

Jenkins 安装与配置详解

Jenkins 安装与配置详解

启动项目 1:svnserve -d -r /svnrepo/project1/
启动整个项目:svnserve -d -r /svnrepo/

d.jdk 安装

某些情况下会遇到 openjdk 无法编译 java 程序,或在编译中存在异常,需要我们手动安装 jdk,首先去 Oracle 官网下载对应版本的 jdk

tar -zxvf jdk-8u121-linux-x64.gz -C /usr/local && \
ln -sv /usr/local/jdk1.8.0_121 /usr/local/jdk1.8 && \
echo "export PATH=$PATH:/usr/local/jdk1.8/bin" >/etc/profile.d/java.sh
source /etc/profile.d/java.sh

三、WEB 界面配置

3.1 密码修改

 cd /var/lib/jenkins/users/admin          # 此为 admin 用户的目录,也可以对应自己创建的用户
 vim config.xml                                  // 定位到 <passwordHash> 那一行
 删除改行,改为
 <passwordHash>#jbcrypt:$2a$10$pDQks0ytOkCfmpdgpLygrOC3uY7i/XnZHBKRQDhrBPwKoN2f5Kz8C</passwordHash>

重启一下 jenkins
新密码为 admin

3.2 maven 配置

针对之前手动安装的 maven 需要在 web 界面配置进行结合。
系统管理 — 全局工具配置(Maven Configuration)配置:

此处为手动安装的 maven,需要取消自动安装 maven,name 可以自定义,MAVEN_HOME 指定下载安装的 maven 具体文件目录
Jenkins 安装与配置详解

3.3 GIT 配置

手动安装的 git,web 界面只需添加具体可执行路径即可
Jenkins 安装与配置详解

3.4 jdk 配置

对应手动安装的 jdk,需要 web 配置 java_home 路径
Jenkins 安装与配置详解

3.5 邮件配置

jenkins 有内置的邮件功能但由于其对于成功的发布不会发送邮件可定制化程度低,在此直接配置插件邮件 (Editable Email Notification),2.32 以上版本的 jenkins,常用的插件都已经在最初部署的时候安装了(如果你当初选择的是 suggest 的 plugins)。
可以使用 qq 邮件服务器或 163 等其他邮件服务器,在此配置使用 163 邮箱,首先需要开启 163 邮箱的 smtp 服务。
Jenkins 安装与配置详解
需要记录此处开启 smtp 时的密码。
在 jenkins 系统管理 — 系统设置 —Extended E-mail Notification
Jenkins 安装与配置详解
在默认的触发器 Default Triggers 标签下,可以勾选邮件通知触发的情况,如任何情况下均需要选择 always,也可以在仅失败情况下发送,也可以对应的邮件接受人不通,进行邮件分类。
以下的内容,如邮件主题,内容均可自定义,可以参考 url:
至此全局插件邮件已经配置完毕,需要在具体的项目中使用此邮件进行发送通知。

四、实战 php 程序自动发布

4.1 插件安装

系统管理 — 管理插件 — 已安装
检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装
安装好两个插件后,点击“系统管理”–“系统设置”

4.2 SSH 配置

系统管理 — 系统设置 —Publish over SSH
在 key 内填写 jenkins 服务器的私钥,如果没有需要先在 jenkins 服务器生成私钥与公钥。ssh-keygen -t rsa回车后会在登录用户的家目录下生成一个.ssh 的目录,此目录下存在 id_rsa 私钥与 id_rsa.pub 公钥。且讲公钥发布至代码发布的目标服务器上ssh-copy-id -i /root/.ssh/id_rsa.pub root@IP

SSH Server 配置
name: 需要将 php 程序发布到目标服务器的名称,可自定义
Hostname: 填写目录服务器的 IP 地址
Username: 使用那个用户进行发布,此处为进行密钥互信的用户
Remote Directory:此出为发布到目标服务器的相对根路径,建议填写 /,防止后续填写路径异常。
Jenkins 安装与配置详解
注:如果为多台目标服务器,可以继续添加,如果目标服务器存在代理,也可设置 proxy

4.3 构建项目

新建 Item— 填入项目名称 — 选择构建一个自由风格的软件项目 — 确定
源码管理 选择 git
Repository URL 填写具体 git 上的仓库 url,如果为私有,需要继续添加 Credentials,如果为公有直接填写 url 即可,Credentials 为 none,

构建后够操作
选择(Send files or execute commands over SSH)
SSH Server 选择目标服务器如:php-server
Source files:/ #将 git 拉去下来的原始文件
Remote directory:/var/www/html #发布到目标服务器的制定目录
Exec command:chown apache:apache -R /var/www/html/* #制定后续的操作
Jenkins 安装与配置详解

此时可以选择 Editable Email Notification 来构建邮件通知。
在此处,之前的邮件主题,内容均可以自定义,在高级里面,选择邮件接受人。
Jenkins 安装与配置详解

点击保存,并立即构建,可以点击 console output 查看日志
Jenkins 安装与配置详解
Jenkins 安装与配置详解
此时打开 php 程序发现程序文件已经成功发布到目标服务器上
Jenkins 安装与配置详解
此时可以查看邮件也已经发送成功。
Jenkins 安装与配置详解

局域网内利用 GitLab+Jenkins 自动生成 GitBook 并发布(Nginx)  http://www.linuxidc.com/Linux/2016-05/131136.htm

Linux+Git+Maven+Jenkins+Neuxs 自动化编译环境搭建 http://www.linuxidc.com/Linux/2016-02/128652.htm

CentOS6 安装 Jenkins  http://www.linuxidc.com/Linux/2016-05/131365.htm

Jenkins 服务器搭建指南 - 官方文档翻译整理  http://www.linuxidc.com/Linux/2017-10/147281.htm

使用 Jenkins 配置 Git+Maven 的自动化构建 http://www.linuxidc.com/Linux/2016-02/128641.htm

Jenkins+Maven+Git 搭建持续集成和自动化部署的配置手记 http://www.linuxidc.com/Linux/2015-06/118606.htm

Jenkins 的分布式构建及部署——节点  http://www.linuxidc.com/Linux/2015-05/116903.htm

使用 Jenkins 自动部署发布  http://www.linuxidc.com/Linux/2017-04/143257.htm

Jenkins 的详细介绍:请点这里
Jenkins 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149947.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计5399字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中