1.安装Jenkins
这里没有选择docker安装,选择了一个更简便的安装方式:在官网下载Jenkins的war包,然后直接执行下面的命令即可
nohup java -jar jenkins.war --httpPort=8888 &其中“–httpPort=8888”为指定访问接口,默认为8080
然后访问控制台界面,安装插件,我这里就直接选择自定义安装推荐的插件(如果后面有需要可以在插件管理中再安装)
2.配置jdk,maven,git
jdk的安装就不过多介绍了,可以参考
安装maven
在官网 https://archive.apache.org/dist/maven/maven-3/ 下载需要的maven的版本,然后用 tar -xvf 命令解压
修改配置文件
先在maven的根目录新建一个 repo 文件夹作为存储依赖的位置,修改conf文件夹下的settings文件中的标签内容和标签内容
<!--修改maven仓库的位置-->
<localRepository>/software/maven/apache-maven-3.5.4/repo</localRepository>
<!--修改镜像,改为阿里云镜像-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>vim /etc/profile 打开配置文件然后添加下面的maven配置
export MAVEN_HOME=/software/maven/apache-maven-3.5.4
export PATH=$MAVEN_HOME/bin:$PATH然后执行 source /etc/profile 重新加载配置文件即可完成maven的安装
安装git
1.yum安装
在Linux上执行下面的命令即可完成安装
yum -y install git然后可以通过 git --version 命令查看git版本
顺便说一下,yum安装git被安装在/usr/libexec/git-core目录下
2.源码安装
因为yum安装的git版本可能有点低,所以通过源码安装自己需要的版本
先在 https:///git/git/releases 下载自己需要的版本的 tar.gz 包,然后通过 tar -xvf 命令解压到指定命令,再 cd 到 git 的根目录
拿到解压后的源码以后我们需要编译源码了,不过在此之前需要安装编译所需要的依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker提示,安装编译源码所需依赖的时候,yum自动帮你安装了git,这时候你需要先卸载这个旧版的git。
yum -y remove git编译git源码
make prefix=/usr/local/git all安装git至/usr/local/git路径
make prefix=/usr/local/git install配置环境变量
vi /etc/profile在底部加上
export PATH=$PATH:/usr/local/git/bin刷新环境变量
source /etc/profile查看Git是否安装完成
git --versionjenkins配置jdk、maven、git
登录jenkins之后进入系统配置–>全局工具配置界面,直接在对应的工具位置添加服务器上工具的路径即可(名称随意)
jenkins中gitee插件的安装和配置
安装:
登录jenkins之后进入系统配置–>插件管理–>选可选插件–>搜索gitee–>点击安装并勾上(安装完成后重启jenkins)
配置:
进入系统配置–>找到gitee配置模块–>添加证书令牌

(其中令牌如果不知道如何获取,可以使用jenkins提供的获取令牌的地址即可)
配置完成后可以点击测试连接进行测试,如果显示成功即配置成功!
详细内容可参考 https://gitee.com/help/articles/4193#article-header6 创建自动构建部署任务
1.在jenkins主页面选择创建任务
2.起一个任务名称,然后选择项目类型
3.因为我的项目用的是maven项目所以这里就直接选择maven项目(也可以选择创建一个自由风格的软件项目,然后再配置maven模块)
4.配置任务
- 配置git模块(Repository URL:gitee上项目的https的克隆地址;Credentials:要添加gitee项目的登录账号和密码,注:添加证书时,证书类型要选
username with password;分支配置要拉取的分支即可) - 配置构建触发器(常用的有1.定时构建:每天指定时间构建;2.轮询SCM:提交代码后指定时间构建)
- presteps(构建前要执行的脚本)
# ${WORKSPACE}为jenkins拉取项目后的项目空间地址:/root/.jenkins/workspace (也可以不加,默认为这个地址)
# 删除之前构建的jar包(rm -rf 包名)
# 修改gitee上项目的配置(sed -r -i 's#要改的内容#要改成的内容#g' 文件的路径)- Build(Root POM:root项目的pom文件路径;Goals and options:打包语句)
- poststeps(构建后要执行的脚步)
# export BUILD_ID=dontKillMe 因为jenkins在构建项目的时候会自动把该进程杀掉导致项目运行不起来,所以要写这个配置防止该进程被杀掉
# 删除指定目录下的旧版本的jar包
# 把要运行的jar包复制到指定目录(方便管理和检查),cp 原jar包地址 指定目录
# cd 到指定目录
# 查找jar包运行的进程并杀掉:jps -l | jar包名称 | awk '{print $1}' | xargs kill -9
# nohup命令运行jar包(echo:打印日志)详细配置可以参考 和
至此,用Jenkins构建gitee上的项目完成自动化部署的流程已经完成,再留两个问题日后再研究
1.目前的流程是在同一台服务器上完成的,日常开发可能涉及到不止一台服务器,所以可能代码拉取下来之后要做远程传输(SSH配置)
参考链接:
2.目前的项目部署是直接用“java -jar”模式部署的,可以采用dockerfile的模式进行部署(可能要麻烦一点,这个看需求吧)
















