概述
Gitlab完全可以执行docker run命令,本文用最简单的方式来演示。
修改.gitlab-ci.yml
加入第4个stage,运行docker run。
stages:
- build-docker-image
- test
- push-image
- run-website
variables:
PAY_IMAGE_FULL_URL: docker.amihome.cn/amihome/change/pay:$CI_PIPELINE_ID
# Use no compression for caches
CACHE_COMPRESSION_LEVEL: "fastest"
build API:
stage: build-docker-image
script:
- cd .
- docker build -t $PAY_IMAGE_FULL_URL -f BlazorApp1/Dockerfile --no-cache .
推送Docker映像:
stage: push-image
before_script:
- docker login -u gitlab-runner -p dkLDKduwoddj29492849fdjfjdueu29923 docker.amihome.cn
script:
- docker push $PAY_IMAGE_FULL_URL
启动Docker容器:
stage: run-website
script:
- docker run -d --name BlazorApp -p 58080:8080 $PAY_IMAGE_FULL_URL
签入代码
在服务器上用docker ps查看容器状态
这里有一点要说明,就是ASPNETCORE 8.0,容器里8080端口才是http。访问80端口没有内容。
root@dev-server:/mnt/disk5t/data/gitlab.amihome.cn/gitlab-runners# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aafa31e12350 docker.amihome.cn/amihome/change/pay:16 "dotnet BlazorApp1.d…" 4 minutes ago Up 4 minutes 8081/tcp, 0.0.0.0:58080->8080/tcp, :::58080->8080/tcp BlazorApp
在浏览器中打开网站
黑夜里不停折腾的代码行者。