Jenkins + gitlab 自动化部署

大纲

  1. 思路讲解
  2. jenkins 安装
  3. gitlab 安装
  4. jenkins 与 gitlab配置自动化部署
  5. 测试
  6. 可能存在的问题

思路讲解

gitlab->pull(其他操作)->webHook(监听到)->触发(jenkins构建操作)->jenkins构建->pull 指定项目->构建脚本->完成。

这里写图片描述

jenkins安装

下载jenkins war

wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
  • 1

设置jenkins 根目录位置(linux centos 默认安装在/root/.jenkins目录下)

a. 编辑 bash_profile 文件

   vi /root/.bash_profile

b. 添加如下内容(设置jenkins根目录)

   export JENKINS_HOME=/opt/jenkins

c. 生效更改

   source /root/.bash_profile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

启动jenkins(指定8888端口号)[这里只是演示,正常情况下不要这么启动,将war放到tomcat下]

nohup java -jar jenkins.war --httpPort=8888 &
  • 1
  • 2

查看启动情况

ps aux | grep jenkins
  • 1
  • 2

web访问

http://ip:8888
  • 1
  • 2

安装向导

根据页面显示的路径查看秘钥并填入

   cat /opt/jenkins/secrets/initialAdminPassword
  • 1

这里写图片描述

安装官方推荐插件,选择 左侧 选项进行安装

这里写图片描述

这里写图片描述

注:这里有些插件提示安装失败,没有关系,正常情况下不会影响使用,可在后台进行插件二次安装.

创建用户

这里写图片描述

开始使用

这里写图片描述

gitlab安装

获取 bitnami gitlab 一键安装包

wget https://bitnami.com/redirect/to/137681/bitnami-gitlab-8.14.3-0-linux-x64-installer.run
  • 1

注意: 现在bitnami gitlab 已经不提供.run文件下载,想获取其他版本可以百度 google 一下 
bitnami gitlab 官网下载地址为: https://bitnami.com/stack/gitlab

安装gitlab

a. 修改权限(可执行)
chmod +x bitnami-gitlab-8.2.3-4-linux-installer.run

b. 执行.run文件
./bitnami-gitlab-8.2.3-4-linux-installer.run
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

安装细节

这里写图片描述

web访问

ip:端口

以上就完成了基础环境的搭建。

jenkins 与 gitlab自动化部署配置

新建git仓库

这里写图片描述

这里写图片描述

初始化git仓库

这里写图片描述

克隆代码并上传到git 仓库

1. git clone xxx.git

2. vim  index.html

<html>
    <head>
        <title>Demo</title>
    </head>
    <body>
         <h1>hello world!</h1>
    </body>
</html>

3. git add .

4. git commit -m 'init'

5. git push -u origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

jenkins 安装必要插件

  • Build Authorization Token Root Plugin(游客也可以进行job build)

jenkins->系统管理->管理插件

这里写图片描述

创建任务(选择自由风格)

这里写图片描述

git源配置

这里写图片描述

这里写图片描述

这里写图片描述

构建触发器

这里写图片描述

以上生成的token用作 gitlab web_hook 通信使用 下方的url地址形式即web-hook url地址 
JENKINS_URL/job/Demo/build?token=TOKEN_NAME

构建

这里写图片描述

这里我们使用 Execute shell 形式 即 shell 脚本语言进行构建操作

这里写图片描述

由于构建的是php项目 只需要把源代码发送到web目录下即可。 
注意: 构建部分就是你项目构建的时候要做的事情 如果是java 要使用maven 或者 gradle构建的话 可执行相应的脚本。 此部分已经完成代码pull动作 接下来要做什么 由你来指定。

gitlab hook 配置

这里写图片描述

来到你的项目下 找到webHook配置 进入

这里写图片描述

配置完成后 点击下方test 进行测试

这里写图片描述

以上 配置结束。

测试

修改jenkins_demo 内容

这里写图片描述

push 远程git库

这里写图片描述

自动构建完成

这里写图片描述

可能存在的问题

  • 测试gitlab webhook时 可能会出现通信问题,原因时jenkins本身禁止跨站点请求

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值