Gitlab Runner 持续集成部署

项目部署

项目基于博客 springCould 基础服务搭建 之后编写的代码(https://blog.csdn.net/renguiriyue/article/details/102756028)

  • dependencies 部署到nexus 上
  • registry 私服配置
  • ubuntu git 拉取代码配置
  • gitlab-runner 持续配置
  • 测试 持续部署是否成功

下面具体的步骤:

dependencies 部署到nexus 上

# 通过以下代码上传代码到 nexus
mvn deploy

registry 私服配置

参考
https://blog.csdn.net/renguiriyue/article/details/102547641

Ubuntu git 拉取代码配置

创建一台Server Deploy 服务器,专门部署服务
参考:https://blog.csdn.net/renguiriyue/article/details/102300907
注意:只需配置(daemon.json)

gitlab-runner 持续部署配置

Server Deploy 服务器上

// 简化部分目录创建
- cd /usr/local/docker/config
- vi docker-compose.yml
-------  以下docker-compose.yml 文件开始 -------
version: '3.1'
services:
  gitlab-runner:
    build: environment
    restart: always
    container_name: gitlab-runner
    privileged: true
    volumes:
	  - /usr/local/docker/runner/config:/etc/gitlab-runner
      - /var/run/docker.sock:/var/run/docker.sock
-------  以上 docker-compose.yml 文件结束 -------

# ~config 目录下
- mkdir environment
- vi Dockerfile
---------  Dockerfile 文件开始   --------
FROM gitlab/gitlab-runner:v12.0.1
MAINTAINER sisyphus <2832799597@qq.com>

# 修改软件源
RUN echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse' > /etc/apt/sources.list && \
    echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse' >> /etc/apt/sources.list && \
    echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse' >> /etc/apt/sources.list && \
    echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse' >> /etc/apt/sources.list && \
    apt-get update -y && \
    apt-get clean

# 安装 Docker
RUN apt-get -y install apt-transport-https ca-certificates curl software-properties-common && \
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add - && \
    add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && \
    apt-get update -y && \
    apt-get install -y docker-ce
COPY daemon.json /etc/docker/daemon.json

# 安装 Docker Compose(这边的链接会失效的,所以还需要自己到docker-compose 确认)
WORKDIR /usr/local/bin
#RUN wget https://raw.githubusercontent.com/topsale/resources/master/docker-compose
RUN curl -L https://github.com/docker/compose/releases/download/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
RUN chmod +x docker-compose
#RUN chmod +x /usr/local/bin/docker-compose

# 安装 java
RUN mkdir -p /usr/local/java
WORKDIR /usr/local/java
COPY jdk-8u221-linux-x64.tar.gz /usr/local/java
RUN tar -zxvf jdk-8u221-linux-x64.tar.gz && \
    rm -fr jdk-8u221-linux-x64.tar.gz

# 安装 Maven
RUN mkdir -p /usr/local/maven
WORKDIR /usr/local/maven
#RUN wget https://raw.githubusercontent.com/topsale/resources/master/maven/apache-maven-3.5.3-bin.tar.gz
RUN wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
# COPY apache-maven-3.6.1-bin.tar.gz /usr/local/maven
RUN tar -zxvf apache-maven-3.6.1-bin.tar.gz && \
    rm -fr apache-maven-3.6.1-bin.tar.gz
# 准备一份maven 配置好的文件,这里参考 nexus 配置
COPY settings.xml /usr/local/maven/apache-maven-3.6.1/conf/settings.xml

# 配置环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_152  # 这边是jdk解压后的文件夹目录,不清楚的话,本地解压看看
ENV MAVEN_HOME /usr/local/maven/apache-maven-3.6.1
ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

WORKDIR /

---------  Dockerfile 文件开始   --------
  

简单描述以下Dockerfile:
里面安装了一些软件,有些是在线装的,有些是需要把压缩包扔到 ~environment 目录下的,需要注意
1、文件的名称需要修改。
2、gitlab-runner 的版本需要和gitlab 的版本一致(或最近的那个版本)
3、从Dockerfile 文件中发现还需要daemon.json 文件

# 创建daemon.json 在 ~environment
{"registry-mirrors": ["http://hub-mirror.c.163.com"],
"insecure-registries":[
       "192.168.22.47:5000"
  ]
}

注册runner

  # zai ~config 目录下
  # 注册 runner
  - docker exec -it gitlab-runner gitlab-runner register

在这里插入图片描述
上面那张图就是runner的整个流程注册完成了,现在回到工程,添加一个文件,并写上测试代码
在这里插入图片描述
看看效果吧
在这里插入图片描述
看到Jobs 里面有输出,所以再交互式的进入Server Deploy 服务器上我们部署的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入容器后,发现我们的东西都被添加进来了。
PS: 如果上述有错误,欢迎大家提出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Jenkins是一个开源的自动化服务器,可以用于自动化构建、测试和部署软件。而GitLab Runner是一个开源的项目,用于在GitLab CI/CD中运行作业。它可以在不同的操作系统和平台上运行,包括Linux、Windows和macOS等。GitLab Runner可以与Jenkins集成,以便在Jenkins中运行GitLab Runner作业。 以下是Jenkins和GitLab Runner的一些基本步骤: 1. 在机器B上安装Jenkins和GitLab Runner。 2. 在GitLab中创建一个项目,并将其与Jenkins集成。 3. 在Jenkins中创建一个新的作业,并将其配置为使用GitLab Runner运行。 4. 在Jenkins中配置GitLab Runner,以便在Jenkins中使用它运行作业。 下面是一个简单的例子,演示如何在Jenkins中使用GitLab Runner运行作业: 1. 在机器B上安装Jenkins和GitLab Runner。 2. 在GitLab中创建一个新项目,并将其与Jenkins集成。 3. 在Jenkins中创建一个新的作业,选择“构建一个自由风格的软件项目”。 4. 在作业配置页面中,选择“源代码管理”,并选择Git作为源代码管理工具。输入GitLab项目的URL和凭据信息。 5. 在作业配置页面中,选择“构建触发器”,并选择“GitLab Merge Request Builder”作为触发器类型。输入GitLab项目的URL和凭据信息。 6. 在作业配置页面中,选择“构建环境”,并选择“Provide Node & npm bin/ folder to PATH”选项。 7. 在作业配置页面中,选择“构建”,并输入要运行的命令。例如,可以输入“npm install && npm test”来安装依赖项并运行测试。 8. 保存并运行作业。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值