持续部署、持续集成、持续交付

jenkins搭建 github jenkins环境搭建教程_git

完成jenkins 部署与正常运行应具备以下条件

1. 代码仓库

2. jenkins部署服务器 (应当具有 jdk、maven、git)

3. 应用服务器

安装jenkins

1. 下载jenkins的repo 包,上传到linux

本次使用版本:

wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm

rpm -ivh jenkins-2.7.3-1.1.noarch.rpm或者yum install jenkinsxxxxrepo包.rpm

jenkins搭建 github jenkins环境搭建教程_jenkins搭建 github_02

# ls /usr/lib/jenkins   //在/usr/lib/jenkins目录下找到 jenkins.war包就是成功

jenkins搭建 github jenkins环境搭建教程_Jenkins_03

2. 配置jdk

# vim /etc/init.d/jenkins   添加jdk安装路径

jenkins搭建 github jenkins环境搭建教程_jenkins搭建 github_04

3. 配置jenkins端口

Jenkins默认情况是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,修改端口为8015。

# vim /etc/sysconfig/jenkins   //修改端口8015,将启动用户修改为root

# grep -n '^'[[a-Z] /etc/sysconfig/jenkins    //查看配置内容方便

jenkins搭建 github jenkins环境搭建教程_jenkins搭建 github_05

4. 启动Jenkins

# systemctl daemon-reload

# systemctl start jenkins.service          //启动jenkins

# systemctl enable jenkins.service       //设置jenkins开机启动 

# systemctl stop jenkins.service           //关闭jenkins 

# systemctl status jenkins.service         //查看jenkins的状态

jenkins搭建 github jenkins环境搭建教程_运维_06

 如果登录后一片空白 

5.  卸载jenkins

# rpm -e jenkins        rpm卸载

# rpm -ql jenkins       检查是否卸载成功

# find / -iname jenkins | xargs -n 1000 rm -rf     彻底删除残留文件

jenkins 配置

 1. 以防忘记密码

jenkins搭建 github jenkins环境搭建教程_jenkins搭建 github_07

2. 配置相关路径

此处需要配置maven、jdk、git

jenkins搭建 github jenkins环境搭建教程_jenkins_08

jenkins搭建 github jenkins环境搭建教程_Jenkins_09

 

3. 安装gitee码云 插件

jenkins搭建 github jenkins环境搭建教程_jenkins_10

安装构建后,执行shell脚本插件 

jenkins搭建 github jenkins环境搭建教程_Jenkins_11

4. 配置码云gitee

jenkins搭建 github jenkins环境搭建教程_运维_12

1. 前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee 配置 -> Gitee 链接
2. 在 链接名 中输入 Gitee 或者你想要的名字
3. Gitee 域名 URL 中输入码云完整 URL地址: https://gitee.com (码云私有化客户输入部署的域名)
4. 证书令牌 中如还未配置码云 APIV5 私人令牌,点击 Add - > Jenkins
     Domain 选择 全局凭据
     Kind 选择 Gitee API 令牌
     Scope 选择你需要的范围
     Gitee API Token 输入你的码云私人令牌,获取地址:https://gitee.com/profile/personal_access_tokens
     ID, Descripiton 中输入你想要的 ID 和描述即可。

jenkins搭建 github jenkins环境搭建教程_运维_13

5. Credentials 选择配置好的 Gitee APIV5 Token

jenkins搭建 github jenkins环境搭建教程_git_14

6. 点击 Advanced ,可配置是否忽略 SSL 错误(适您的Jenkins环境是否支持),并可设置链接测超时时间(适您的网络环境而定)
7. 点击 Test Connection 测试链接是否成功,如失败请检查以上 3,5,6 步骤。

jenkins搭建 github jenkins环境搭建教程_jenkins搭建 github_15

 5. 创建构建任务

jenkins搭建 github jenkins环境搭建教程_git_16

jenkins搭建 github jenkins环境搭建教程_git_17

 

jenkins搭建 github jenkins环境搭建教程_Jenkins_18

 

jenkins搭建 github jenkins环境搭建教程_git_19

 

jenkins搭建 github jenkins环境搭建教程_jenkins_20

 

jenkins搭建 github jenkins环境搭建教程_运维_21

 

jenkins搭建 github jenkins环境搭建教程_运维_22

如果写成 install -DskipTests 就是跳过maven测试 

clean install 就是先清理,后打包

 

jenkins搭建 github jenkins环境搭建教程_运维_23

jenkins搭建 github jenkins环境搭建教程_运维_24

 (1). 有的时候,首次执行,会失败,提示没有权限

jenkins搭建 github jenkins环境搭建教程_git_25

jenkins搭建 github jenkins环境搭建教程_Jenkins_26

(2). 有的时候可能会因为使用本地jar包,所以导致maven编译失败

则应该在提交的代码中,指定所自定义的jar包位置


<dependency>
    <groupId>com.qq</groupId>
    <artifactId>connect</artifactId>
    <version>2.9.0</version>
    <scope>system</scope>
    <systemPath>/var/lib/jenkins/workspace/mysqlExecute/src/main/webapp/lib/Sdk4J.jar</systemPath>
</dependency>


(3).  多个项目,依赖关系,maven打包思路理解

例如我们有两个项目在 gitee 上(bdc-zq、和bdc),bdc-zq 是war包,bdc是jar包。bdc-zq引用bdc。此时我们在linux上拿到两份源代码,我们先install bdc项目,那么bdc.jar 包就会存在于linux的本地仓库,在等到我们去install bdc-zq的时候,就会去仓库找到bdc.jar,将其引用到bdc-zq项目。

那么其实我们在idea上编辑时,如果外层父项目pom文件中配置的子项目<module>标签顺序不恰当的时侯,在linux上可能就会存在,a项目想引用b时,b项目还未完成打包,导致找不到b项目的jar 包的情况。那么两个解决方法:1.修改父项目pom文件中,子项目打包顺序,2.一个一个的子项目按照顺序单独打包,最后执行父项目的 install(不使用clean)。