# gitlab-runner-docker-jdk8

# 描述
  • 使用shell为executor的灵活强大的gitlab-runner,支持目前遇到的大部分情境。
  • 此image基于gitlab/gitlab-runner:latest,主要扩展了以下组件
    1. UTF-8支持,并设置LANGzh_CN.UTF-8
    2. 设置M2_HOME
    3. openJDK8
    4. docker
  • 适用场景(使用shellexecutor
    1. java工程使用maven工程编译并推送
    2. java工程使用gradle编译并推送
    3. 构建docker镜像并推送
    4. 支持工程间本地仓库jar包的互相引用
# 安装和运行
  1. 构建image并推送到远程docker仓库

    # login
    docker login -u docker-view docker.mofar.top
    # build
    docker build -t docker.mofar.top/gitlab-runner:docker-jdk8 .
    # push
    docker push docker.mofar.top/gitlab-runner:docker-jdk8
    # logout
    docker logout docker.mofar.top
    
  2. 配置文件准备

    • 挂载gitlab-runner的配置(/etc/gitlab-runner)文件config.toml和空目录certs
    • 挂载maven的配置(/home/gitlab-runner/.m2)文件setting.xml
  3. docker运行脚本:sh run-gitlab-runner-docker-jdk8.sh

    docker run -d \
    	--name gitlab-runner-docker-jdk8 \
    	--restart always \
    	-v /var/run/docker.sock:/var/run/docker.sock \
    	-v /home/docker/conf/gitlab-runner:/etc/gitlab-runner \
    	-v /home/docker/data/.m2:/home/gitlab-runner/.m2 \
    	docker.mofar.top/gitlab-runner:docker-jdk8