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 <[email protected]>

# 修改软件源
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: 如果上述有错误,欢迎大家提出

发布了46 篇原创文章 · 获赞 6 · 访问量 2666

猜你喜欢

转载自blog.csdn.net/renguiriyue/article/details/102769884
今日推荐