Docker安装Gitlab和Gitlab-Runner并实现项目的CICD 日期:2024-07-17 人气:110 接到公司的任务,要配置自动化部署,网上找了很多资料,大多雷同,[这一篇文章](https://developer.aliyun.com/article/719968)算是讲解的比较详细的了,可能因我的环境和博主的环境不同,其中有几个步骤还是有差异的。 gitlab自动化部署非常繁琐,没有git,linux和docker经验是搞不了的。 以部署一个maven项目为例: 首先要搞清楚环境,每个docker负责做什么。 有一个docker负责打包 有一个docker负责运行 我们要做的就是让这一切连接起来。 说一下我的环境: - gitlab使用docker安装,镜像包为`gitlab/gitlab-ce:latest`, 安装方式是:Linux package installations。宿主机器的IP为:192.168.1.33 - gitlab-runner下载rpm package安装。[参见](https://docs.gitlab.com/runner/install/linux-manually.html#using-debrpm-package)。并没有使用docker。IP为:192.168.1.7 ### gitlab开启container restory [参见](https://docs.gitlab.com/ee/administration/packages/container_registry.html#missing-gitlab-registrykey-prevents-container-repository-deletion) 需要注意的是,gitlab开启容器注册时,无需在宿主机上启动一个restory容器,因为镜像是保存在gitlab中的,和宿主机没有关系 注意事项参见我的另一篇博客[gitlab-ce配置容器注册表](https://www.xindejob.com/article/read?id=455) ### 构建maven镜像 由于项目使用jdk17,官方没有搜到maven-jdk17的镜像,所以手动构建 首先下载maven安装包: ``` wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz ``` Dockfile如下: ``` # 下载jdk17镜像 FROM openjdk:17 # 挂载jar包目录 VOLUME ["/.m2"] # 设置工作目录 WORKDIR /usr/local # 新镜像构建成功以后创建指定目录 RUN mkdir -p /usr/local/maven # 拷贝文件到镜像中并解压 ADD apache-maven-3.9.4-bin.tar.gz /usr/local/maven # 更改Maven配置文件 COPY settings.xml /usr/local/maven/apache-maven-3.9.4/conf/ # 设置环境变量 ENV MAVEN_HOME=/usr/local/maven/apache-maven-3.9.4 ENV PATH=$PATH:$MAVEN_HOME/bin ``` ### 鸣谢 - [阿里云](https://developer.aliyun.com/article/719968) - [csdn**cn_lyg **](https://blog.csdn.net/cn_lyg/article/details/132161409) - [csdn**饥饿者太白星君 **](https://blog.csdn.net/weixin_44557375/article/details/125477350?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-125477350-blog-129229378.235^v43^pc_blog_bottom_relevance_base5&spm=1001.2101.3001.4242.2&utm_relevant_index=4) 标签: 上一篇:vscode使用Community Server Connector运行JDK1.8项目报错 下一篇:gitlab-ce配置容器注册表 随便看看 2025-07-04 vscode使用Community Server Connector运行JDK1.8项目报错 2025-07-03 vscode中为maven项目指定java版本 2025-06-27 利用puppeteer将网页保存为pdf 2025-06-27 一天二十四时辰表 2025-06-27 家谱中儿子和父母的关系有哪些? 留言