Jenkins

1. 什么是jenkins

   Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

2. 什么是持续集成(CI)

因为开发部门同时维护多个版本,多个版本的发布,测试需要大量人力,所以要有一个专业的持续集成工具来管理持续重复的工作。

3.安装Jenkins

(1) 准备条件

1.安装JDK。
下载jdk,上传至linux并解压

配置/etc/profile的内容

使配置生效

检测java环境信息

(2)安装Jenkins

1. 下载jenkins 

yum install wget(如果没有)
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war 
2. 启动jenkins
# 使用nohup命令启动 nohup 当虚拟机黑屏时 也会运行   日志--->输出到jenkins.log   & 后台运行
nohup java -jar /data/software/jenkins.war  --httpPort=8777 --httpsPort=8778 > /data/software/jenkins.log 2>&1 &

3. 第一进入Jenkin会有一个密码,查看复制保存

4.通过浏览器访问jenkins

http://192.168.67.10:8777/

一般我选择安装推荐的插件

如果一次没成功,继续几次即可

4. 修改jenkins的镜像地址

jenkins的所有插件安装后需要重启才能生效,由于Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址(清华大学源):

有2个步骤 :

1.进入 Manage Jenkins -》 Manage Plugin -> Advanced 最下面有 Update Site 设置为:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

2.修改服务器配置,进入jenkins安装目录 ,找到 /updates/default.json文件 ,将其中的 updates.jenkins-ci.org/download 替换为:

mirrors.tuna.tsinghua.edu.cn/jenkins ,然后把www.google.com 修改为 www.baidu.com

然后进入到default.json所在目录

/root/.jenkins/updates/default.json

使用如下命令进行替换:

sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json 

替换后使用http://192.168.67.10:8777/restart重启jenkins (我的地址)

5. JDK集成

1.首先安装好jdk

2.jenkins中配置JDK路径

jenkins-》全局工具配置-》JDK-》新增JDK

6.集成Git

首先安装好git

然后jenkins安装Git插件:

之后在jenkins配置Git环境:

此处无需在jenkins中配置Git环境,采用默认生成的即可

Gitee上任意建一个仓库

然后测试凭据是否能够使用:

​ jenkins-》新建任务-》自由风格项目

进入jenkins的工作空间查看文件是否拉取下来,所有拉取的文件都会存放在jenkins工作空间中

到此用户名密码方式的凭证已经打通Git

7.需要凭证的配置

凭据就是用来存储需要密文保护的数据库密码、Gitee密码信息、Docker私有仓库密码等,以便 Jenkins可以和这些第三方的应用进行交互。

1.凭证插件安装Credentials Binding

该插件默认在一开始就会被安装,安装后在jenkins-》系统管理-》安全栏目会出现Manage Credentials选项,若没有需要安装插件并重启。

创建一个新项目

和上一个项目一样,最后

然后:

8.Maven集成

1 下载安装

# 找一个目录存放maven
cd /data/software/

# 从阿里云上下载maven安装包
wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

# 解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz

# 当前maven的安装目录为:/usr/local/java/apache-maven-3.6.3

2 环境配置

vi /etc/profile

在最后面JDK配置上作出一些更改
export MAVEN_HOME=/usr/local/java/apache-maven-3.6.3
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

3 使配置生效并查看安装情况

source /etc/profile
mvn -version

4 jenkins配置Maven

5 安装Maven插件

6 在/data/software目录下新建一个repository文件夹,用来作为maven的仓库

cd /data/software
mkdir repository

7 使用root账户修改Maven的settings.xml文件(指定仓库目录和阿里云镜像)

         

8 Maven测试项目构建

接下来的步骤是将java项目传到Gitee上供jenkins拉取打包

新建Maven项目,然后在码云上建一个同名的git项目

使用Git上传到码云

部分git命令,用于熟悉git:

上传git之后,刷新git,得到内容

9 jenkins添加Maven项目任务

新建任务 (maven的)

编写Maven编译命令

构建并查看控制台日志

保存后,点击立即构建,然后进入日志控制台查看日志

从日志可以看到代码已经在拉取了,而且走的事阿里云仓库,第一次拉取过程会比较长。

通过查看/data/software/repository可以看到有存放拉取的jar包,通过这2个证据可以证明settings.xml文件配置成功且有效

构建成功后查看jenkinsworkspace目录下的jar包

到此Maven集成完毕 。

测试:

在浏览器执行文件:

192.168.67.10::8081/index   (自己的项目去验证)

配置Post Steps,选中执行shell , 把当前编译好的jar包拷贝到应用服务器去启动

(1)配置ssh免密登录

免密登录主要是方便jenkins服务器192.168.67.129的root用户—》应用服务器192.168.67.10的root用户上的jar包拷贝,部署本就是jar包拷贝的过程

在192.168.67.129机器上使用root用户生成秘钥注意此处是root用户

ssh-keygen -t rsa  (运行后3次回车)

运行后会在当前用户的根目录生成一个.ssh文件夹

ssh文件夹中的文件描述:

id_rsa : 生成的私钥文件

id_rsa.pub : 生成的公钥文件

接下来需要将公钥导入到认证文件中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

如果希望ssh公钥生效需满足至少下面两个条件:

.ssh目录的权限必须是700

.ssh/authorized_keys文件权限必须是600

给对应文件授权

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

authorized_keys文件拷贝到应用服务器的admin用户.ssh目录下

在应用服务器(192.168.67.10)上用root用户创建/root/.ssh文件夹  mkdir -p /root/.ssh

 在jenkins服务器(192.168.67.129)上将pub公钥文件拷贝到用服务器的.ssh目录下

scp -p ~/.ssh/id_rsa.pub root@192.168.67.10:/root/.ssh/authorized_keys

在jenkins192.168.67.129服务器上进行免密连接测试

# 在jenkins服务器的/root/目录下创建b.txt文件,并拷贝到应用服务器
$ cd ~/
$ touch b.txt
$ scp -p b.txtroot@192.168.67.10
# 进入到应用服务器(192.168.67.10),检查/root目录下是否出现b.txt

  • 到此免密登录和拷贝实现成功,为接下来jar包部署提供了快捷的帮助

编写jenkins发布脚本

编写应用启动脚本

/data/app/my-boot目录下创建启动脚本start.sh

$ touch start.sh
$ vim start.sh
# 将下面代码粘贴到start.sh中(192.168.67.10中的)

/data/app/my-boot目录下创建停止脚本stop.sh

$ touch stop.sh
$ vim stop.sh
# 将下面代码粘贴到stop.sh中

并进行启动和停止测试,查看日志输出是否正常

将下述启动代码配置jenkins

访问并测试代码是否生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值