git lab ci/cd springboot实战

一.安装gitlab
1.安装gitlab-ce (服务器系统为centos 7)

 

yum install gitlab-ce

2.配置IP地址

vi /etc/gitlab/gitlab.rb


#修改gitlab的访问ip,ip用本机(若服务器分为内网IP和外网IP,则使用内网IP)

 external_url 'http://192.168.64.151'
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.xml
  ## GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    #设置gitlab SSH和http克隆代码的地址(若服务器分为内网IP和外网IP,则使用内网IP)
    host: 192.168.64.151
    port: 80
    https: false


保存,重启gitlab

gitlab-ctl reconfigure

二.安装gitlab-runner


1.下载可执行文件

sudo wget /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

2.设置执行权限

sudo chmod +x /usr/local/bin/gitlab-runner

3.创建GitLab CI账户并分到root组

 useradd --comment 'GitLab Runner'--create-home gitlab-runner --shell /bin/bash

 usermod -g root gitlab-runner

 4.运行服务

gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

gitlab-runner start 

 三.gitlab-runner注册


1.打开 gitlab 项目 -> Settings -> CI / CD -> Runners settings。记下url和token(也就是图片中涂黑的部分),若服务器分为内网IP和外网IP,则url为服务器的内网IP地址。下面注册使用。

 2.注册,登录gitlab所在服务器,在终端界面输入

sudo gitlab-runner register
(第一次注册可能需要输入服务器密码进行验证)
输入你的 GitLab URL
 
Please enter the gitlab-ci coordinator URL(e.g. https://gitlab.com )
 
https://192.168.6.151(输入上图的url,若服务器分为内网IP和外网IP,则url为服务器的内网IP地址)
 
输入 注册令牌 来注册 Runner
 
Please enter the gitlab-ci token forthis runner
 
xxx(输入上图的token)
 
输入 Runner 说明
 
Please enter the gitlab-ci description forthis runner
 
my-runner
 
输入 Runner 的 tags
 
Please enter the gitlab-ci tags forthisrunner(comma separated):
 
my-tag
 
输入 Runner 执行方式,这里选择shell
 
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell: 
shell



到这一步gitlab和gitlab-runner就配置好了

四.配置SSH秘钥


服务器采用账号密码方式登录,请按照以下配置方式配置SSH
1.配置ssh,便于远程生产环境服务器部署项目。在终端界面输入。(切换以gitlab-runner身份登录)

sudo su - gitlab-runner

2.生成秘钥,在终端继续输入,然后一直按回车即可。不要输入密码。

ssh-keygen -t rsa

3.到gitlab所在服务器的/home/gitlab-runner/.ssh/目录会看到生成的秘钥对如图所示

4.将id_rsa.pub公钥文件拷贝到生产环境服务器/root/.ssh/authorized_keys  中。在终端输入

vim /root/.ssh/authorized_keys 

5.测试是否可以免密登录

ssh root@192.168.64.234(ip)

6.将私钥内容复制到gitlab中。在终端输入

cat ~/.ssh/id_rsa

如图所示:

拷贝一下红框里的内容。

进入gitlab想要部署的项目中(没有项目可自行创建一个测试项目)。选择用户设置->CI/CD->变量

 -》Add Variable ,将秘钥填入后,点击"Add Variable"按钮.如下图所示

 至此,我们的配置就完成了。

五.编写gitlab-ci.yml文件

stages:
  - build
  - deploy-test

build:
  stage: build
  script:
    - mvn clean

deploy-test:
  stage: deploy-test
  environment: test
  only:
    refs:
      # 只有   分支触发此任务
      - /^feature/.*$/
#    changes:
      # 指定或目录变更时触发
#      - .test.sh
  #      - src/**
  #      - pom.xml
  #      - .gitlab-ci.yml
  when: manual
  script:
    - mvn clean package -Dmaven.test.skip=true
    - scp -r -P 22 target/demo-0.0.1-SNAPSHOT.jar root@192.168.64.151:/data/peafowl-mall
    - ssh -p 22 root@192.168.64.151 "cd /data/peafowl-mall/; source /etc/profile; sh demo.sh"

demo.sh文件

#! /bin/sh
ID=`ps -ef | grep demo-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}'`
echo "Pid: " $ID  
echo "------kill demo ---------"
for id in $ID
do
  kill -9 $ID
  echo "killed " $ID
done
echo "------start demo ---------"  
nohup java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=test >/dev/null 2>&1 &
echo "---------end---------------"

六.项目部署

gitee项目地址:

https://gitee.com/xiaoxigege/gitlab-cicd-demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值