-
linux上
-
Dockerfile文件
-
FROM gitlab/gitlab-runner:v11.0.2
MAINTAINER 1906171836@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
WORKDIR /usr/local/bin
COPY docker-compose /usr/local/bin/docker-compose
RUN chmod +x docker-compose# 安装 Java
RUN mkdir -p /usr/local/java
WORKDIR /usr/local/java
COPY jdk-8u321-linux-x64.tar.gz /usr/local/java
RUN tar -zxvf jdk-8u321-linux-x64.tar.gz && \
rm -fr jdk-8u321-linux-x64.tar.gz# 安装 Maven
RUN mkdir -p /usr/local/maven
WORKDIR /usr/local/maven
#RUN wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
COPY apache-maven-3.8.4-bin.tar.gz /usr/local/maven
RUN tar -zxvf apache-maven-3.8.4-bin.tar.gz && \
rm -fr apache-maven-3.8.4-bin.tar.gz
# COPY settings.xml /usr/local/maven/apache-maven-3.8.4/conf/settings.xml# 配置环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_321
ENV MAVEN_HOME /usr/local/maven/apache-maven-3.8.4
ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin#如果不行的话就执行 vim ~/.bashrc 在此文件末尾下添加以下配置,然后在执行 source ~/.bashrc
#export JAVA_HOME=/usr/local/java/jdk1.8.0_321
#export MAVEN_HOME=/usr/local/maven/apache-maven-3.8.4
#export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
WORKDIR / -
daemon.json文件
- {
"registry-mirrors": ["https://mjaubtgm.mirror.aliyuncs.com"],
"insecure-registries": [
"192.168.31.147:5000"
]
}
-
docker-compose.yml文件
-
version: '3'
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 exec -it gitlab-runner gitlab-runner register
- 剩下根据此文件操作GitLab实现持续集成_Haolarn-CSDN博客_gitlab持续集成
如果再集成代码(SonarQube)检测功能:
GitLab持续集成持续部署(CI&CD)_安澜公子的博客-CSDN博客_gitlab持续集成
2:客户端
-
目录结构(三个重要文件)
-
.gitlab-ci.yml
- stages:
- - package
- - clean
- package_maven:
- stage: package
- only:
- - master
- script:
- - pwd
- - /usr/local/maven/apache-maven-3.8.4/bin/mvn clean package -Dmaven.test.skip=true
- - cp target/springbootAdmin-0.0.1-SNAPSHOT.jar docker
- - cd docker
- - docker build -t 192.168.31.147:5000/springboot-admin .
- - docker tag 192.168.31.147:5000/springboot-admin 192.168.31.147:5000/springboot-admin:520
- - docker push 192.168.31.147:5000/springboot-admin:520
- - docker-compose up -d
- clean_maven:
- stage: clean
- script:
- #清除target目录
- - /usr/local/maven/apache-maven-3.8.4/bin/mvn clean
- #清除虚悬镜像
- - docker rmi $(docker images -q -f dangling=true)
-
Dockerfile文件
-
FROM openjdk:8-jre
MAINTAINER 1906171836@qq.com
ENV TARGET_JAR="0.0.1-SNAPSHOT"
RUN mkdir /app
COPY springbootAdmin-${TARGET_JAR}.jar /app/app.jar
CMD java -Xrs -Xmx1024m -jar /app/app.jar
EXPOSE 9008
-
docker-compose.yml文件
-
version: '3'
services:
springboot-admin:
image: 192.168.31.147:5000/springboot-admin:520
container_name: springboot-admin
ports:
- 9008:9008
-
最后提交gitlab自动部署