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

摘要:
在上面的配置中,我们页面的类型选择为Secrettext,Github生成的Token可以粘贴在Secret中。ID和描述可以自由书写或留空。如果不成功,则需要返回并重新操作上述步骤,如下所示。只需单击Save即可完成配置,如下图所示:至此,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)

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

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
centos7安装jenkins,集成github实现自动化部署第2张

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

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

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

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

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

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

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

2.Github webhooks设置

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

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

 3.jenkins安装Github Plugin插件

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

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

 4.配置github

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

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

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

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

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

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

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

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

5.Jenkins中创建任务

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

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

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

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

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

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

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

2)源码管理配置

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

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

3)构建触发器

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

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

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

 此时,你点击“构建”,则会将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"]

 

免责声明:文章转载自《centos7安装jenkins,集成github实现自动化部署》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇gitlab 升级springBoot项目不重新上传jar包,增量升级步骤下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jenkins+maven+svn实现springboot项目的自动化部署过程

说明:部署springboot项目的jar 前提(参考:https://www.cnblogs.com/myitnews/p/11493779.html): 全局安全配置(前面配置过) 全局工具配置(前面配置过) 管理插件(根据需要安装插件,前面配置过) 已将项目代码提交到SVN仓库。 1. 创建任务 2. 配置项目 (1) General 勾选丢...

gitlab 笔记

#http://www.jianshu.com/p/060e7223e211?open_source=weibo_search docker stop gitlabdocker stop redisdocker stop postgresqldocker rm gitlabdocker rm redisdocker rm postgresql docker...

【环境巡检】使用jmeter+ant+Jenkins+企业微信自动化巡检_ant调用jmeter脚本并生成报告(2)

 一、分析准备  接上文,目前jmeter、jdk等已经准备完成。本文从安装ant及配置相关jmeter配置说起。 二、ant调用jmeter生成报告 1)、安装ant 1、安装包下载 下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可   2、配置环境变量       ANT_HOME 为 a...

实现一个代码自动生成(一):模板引擎Freemarker

目录 前言 模板引擎FreeMarker 模板引擎是什么? FreeMarker是什么? FreeMarker如何使用? 加入依赖 创建Configuration实例 创建数据模型 获取模板 合并模板和数据 整合代码 前言 在现在的开发当中,代码生成已经是必不可少的一个功能,每个公司都会有自己的一套定制的项目骨架,而实现代码自动生成...

MySQL多线程备份工具mydumper

mydumper是一个针对MySQL和Drizzle的高性能多线程的备份和恢复工具。此工具的开发人员分别来自MySQL、Fackbook、SkySQL公司,目前已经有一些大型产品业务测试并使用了该工具。我们在恢复数据库时也可以使用myloader工具。 Mydumper的主要特性包括: 一、采用了轻量级C语言写的代码。 二、相比于mysqldump,其速度...

linux sudo 命令

sudo 命令 put("-10","金额超出3万上限"); passwd 修改sudo密码 **** 过了一段时间是无需再次输入密码的。 cd /usr/local/tomcat_xxl/webapps/ROOT/WEB-INF/classes/conf passwd sudo rm -f conf.properties ls -lsudo mv ~/c...