Aliyun容器镜像仓库
- 登录Aliyun;
- 在产品与服务中找到 弹性计算--容器镜像服务;
- 创建镜像仓库;
- 命名空间可以理解为Docker Hub的username, 仓库名称即repository;
- 创建好后点击仓库进入,查看操作指南获取regitry URL。
GitHub Actions
https://docs.github.com/en/actions
- 在GitHub repository中点击Actions选项卡创建workflow(workflow配置文件默认为.yml并且存放在根目录.github/workflows中);
- 创建GitHub Secrets存储registry,username及password等信息;
- 参考代码如下:
name: Docker Image CI
# 触发条件:当master branch触发push(push,merge Pull Request)时,弱docker文件夹下的文件有更新,则触发。
on:
push:
branches:
- master
paths:
- 'docker/**'
defaults:
run:
shell: bash
working-directory: './docker'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Dockerfile
uses: actions/checkout@v2
# 使用Docker官方制作的action
# https://github.com/marketplace/actions/build-and-push-docker-images
- name: Build and Push Docker Iamge
uses: docker/build-push-action@v1
with:
registry: ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}
username: ${{ secrets.ALI_DOCKER_HUB_USN }}
password: ${{ secrets.ALI_DOCKER_HUB_PWD }}
repository: username/repository
tag_with_sha: true
path: 'docker'
# 使用Aliyun操作指南提供的命令
# - name: Build Docker image
# run: |
# docker build -t locale:tag .
# - name: Push to Ali Docker Repository
# run: |
# docker login -u ${{ secrets.ALI_DOCKER_HUB_USN }} -p ${{ secrets.ALI_DOCKER_HUB_PWD }} ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}
# docker tag locale ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}/username/repository:tag
# docker push ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}/username/repository:tag