我一直在尝试在Gitlab共享运行器中构建docker镜像。我正在使用 image: "hseeberger/scala-sbt:11.0.6_1.3.10_2.11.12"
我在本地用 sbt-native-packager 构建 docker 镜像,这让我觉得我需要使用 DiD 服务。
目前我遇到了一个问题,就是sbt-native-packager无法定位docker可执行文件,无法构建镜像。我在这里缺少什么?
我的脚本如下。
docker:
stage: deploy
image: "hseeberger/scala-sbt:11.0.6_1.3.10_2.11.12"
services:
- name: docker:dind
script:
- sbt docker:publishLocal
- docker push registry.gitlab.com/groupName/moduleName
其实下面的方法对我来说是可行的,虽然每次都要在运行器中安装Docker是相当沉重的,但是,这是我唯一能让它工作的方法。
docker:image:
stage: release
image: "hseeberger/scala-sbt:11.0.6_1.3.10_2.11.12"
before_script:
- apt-get update
- apt-get install sudo
- apt-get install apt-transport-https ca-certificates curl software-properties-common -y
- curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
- apt-get update
- apt-get install docker-ce -y
- sudo service docker start
- docker login <to your account>
script:
- sbt docker:publishLocal
- docker tag module:latest registry.gitlab.com/moduleGroup/module:0.1-SNAPSHOT
- docker push registry.gitlab.com/moduleGroup/module