centos7安装jenkins,集成github实现自动化部署

1.下载安装包

wget https://pkg.jenkins.io/redhat/jenkins-2.252-1.1.noarch.rpm

2.安装

rpm -ivh jenkins-2.252-1.1.noarch.rpm

3.修改监听端口(如果是服务器,记得去开放这个端口)

vim /etc/sysconfig/jenkins
#监听端口

JENKINS_PORT="8888"

4.修改权限

为了不因为权限出现各种问题,这里直接使用root

修改用户为root

vim /etc/sysconfig/jenkins

#修改配置

$JENKINS_USER="root"

5.修改目录权限

chown -R root:root /var/lib/jenkins

chown -R root:root /var/cache/jenkins

chown -R root:root /var/log/jenkins

6.配置jdk路径(Jenkins默认jdk路径为/usr/bin/java)

查看jdk安装路径 echo $JAVA_HOME

vim /etc/rc.d/init.d/jenkins,将jdk路径添加到下面(注意:后面要加/bin/java)

7.启动jenkins

service jenkins start

如果有警告:Starting jenkins (via systemctl):  Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.

执行一下systemctl daemon-reload就OK了

 8.访问(路径为p+端口)

查看登录密码:cat /var/lib/jenkins/secrets/initialAdminPassword

========================至此,jenkins安装完毕,下面集成github实现自动化部署=======================================

1.在Github上获取访问token的值,需要一个对项目有写权限的账户

如果要实现自动构建的话,Jenkins需要获得远程代码仓库Github的读取权。

点击右上角的 Github --> setting --> Developer settting --> Personal access tokens -> 点击Generate new token 填写如下所示的内容:

创建成功后,会生成一个token的值如下:

2.Github webhooks设置

进入Github上指定的项目 --> setting -> WebHooks --> add webhook, 如下图所示:

 3.jenkins安装Github Plugin插件

可选插件搜索github(别选错了)

 4.配置github

Manage Jenkins -> Configure System -> Github -> 点击添加Github服务器, 如下图所示:

 API URL 默认为:https://api.github.com,我们不动它,然后凭据点击 Add添加,如下图所示:

如上,我们之前已经生成了token之后。在如上配置中,我们页面中的类型选择 Secret text,在Secret中黏贴Github生成的Token,id和描述可以随便写,或不填。

最后点击添加按钮后,会回到主页面,在凭据中选择我们刚才创建的凭据,然后我们点击 "链接测试"。如果没有成功的话,则需要返回重新操作以上步骤,如下所示,我们只要点击保存完成配置即可,如下图所示:

 到这里,github基础配置已经完成了。

5.Jenkins中创建任务

1) 点击创建一个新任务,如下图所示:

输入一个任务名称,比如叫 testJekins, 然后选择第一项即可。如下图所示:

因此准备工作已经完成了,我们输入任务名称后,选择第一项后,点击底部的确定按钮,就可以进入下一步的页面了,如下图所示:

如上选择Github,填写项目的URL,该地址是我们Github上的主页地址,不是github资源地址。

2)源码管理配置

打开刚刚我们创建的任务,切换到 "源码管理" tab项,然后在左侧选择 Git,然后我们把我们的github项目中的仓库地址,添加配置登录名和密码(点击添加会弹出一个框,我们默认操作就行),及分支。如下图所示:

3)构建触发器

4)构建环境,构建后执行的shell脚本,通过为项目打包+部署的shell命令

 此时,你点击“构建”,则会将github中的代码拉到jenkins,默认目录在jenkins安装目录的workapace下面

要想实现项目打包+部署,就要根据自己的项目,编写相应的脚本了

如果是springboot项目可以参考我的脚本

#jenkins的工作目录为/var/lib/jenkins/workspace
#首先进入要打包的项目文件夹
cd /var/lib/jenkins/workspace/项目名
#编译之前先clean,再跳过单元测试
mvn clean package -Dmaven.test.skip=true
echo '项目打包完成'
#停止正在运行的镜像
docker stop 项目名
#删除镜像
docker rm 项目名
#删除容器
docker rmi 项目名
#重新构建
cd target
docker build -t 项目名 -f ../DockerImgBuild/Dockerfile.dev .
#启动
docker run -d --restart=always --name 项目名 -p 8001:8001 项目名
echo '项目启动成功'

注:在项目的src同级目录建一个DockerImgBuild,在里面创建一个文件叫做Dockerfile.dev,用来构建docker镜像

FROM java:8
MAINTAINER 作者名
ADD 项目名-0.0.1-SNAPSHOT.jar 项目名.jar
EXPOSE 8001
ENTRYPOINT ["java","-jar","项目名.jar"]

 

原文地址:https://www.cnblogs.com/uzxin/p/13644629.html