如何在计算引擎 VM 的 Github 操作中拉取 Docker 图像?
How to pull a Docker image in Github actions for a compute engine VM?
我正在使用 GH 操作构建图像并将图像推送到我的 docker 存储库。在完成 setup-gcloud
:
之后如何将其拉到 Google 计算引擎上
steps:
- name: setup gcloud
uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
with:
version: '290.0.1'
project_id: ${{ secrets.GCP_PROJECT_ID }}
service_account_key: ${{ secrets.GCP_SA_KEY }}
我知道 GCE-Github actions and the google/docker-registry. But as my VM is not container-optimized 我想 运行
docker pull [docker-hub-repo]
然后在特定目录中执行 docker-compose up
。
您可以 install Docker Engine 在多个 Linux 平台上以及在 macOS 和 Windows10 上通过 Docker 桌面。
命令 "docker pull" 默认从 Docker Hub 拉取镜像。您还可以通过指定存储库路径从 desired repository 中提取图像。
您需要 install Docker Compose so that you could run the command "docker-compose up" 来开始编写并运行您的整个应用程序。
我没有意识到显而易见的 gcloud compute ssh 命令就足够了。
- run: gcloud compute ssh --zone $GCE_INSTANCE_ZONE $GCE_INSTANCE --command 'docker login -u [user] -p [password] && docker pull [repository:tag]'
2022 编辑
为了更安全,请使用 Github Secrets。
为避免通过 run
直接使用 SSH 命令,有一项作业 appleboy/ssh-action@master
用于此;
jobs:
deploy:
runs-on: [ubuntu-latest]
steps:
#Job starts here
- name: executing remote ssh commands
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.WEBSPACE_HOST }}
username: ${{ secrets.WEBSPACE_USER }}
password: ${{ secrets.WEBSPACE_PASS }}
#Bash commands may be placed line by line here
script: |
cd ...
git pull
docker-compose up --build --detach
我正在使用 GH 操作构建图像并将图像推送到我的 docker 存储库。在完成 setup-gcloud
:
steps:
- name: setup gcloud
uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
with:
version: '290.0.1'
project_id: ${{ secrets.GCP_PROJECT_ID }}
service_account_key: ${{ secrets.GCP_SA_KEY }}
我知道 GCE-Github actions and the google/docker-registry. But as my VM is not container-optimized 我想 运行
docker pull [docker-hub-repo]
然后在特定目录中执行 docker-compose up
。
您可以 install Docker Engine 在多个 Linux 平台上以及在 macOS 和 Windows10 上通过 Docker 桌面。
命令 "docker pull" 默认从 Docker Hub 拉取镜像。您还可以通过指定存储库路径从 desired repository 中提取图像。
您需要 install Docker Compose so that you could run the command "docker-compose up" 来开始编写并运行您的整个应用程序。
我没有意识到显而易见的 gcloud compute ssh 命令就足够了。
- run: gcloud compute ssh --zone $GCE_INSTANCE_ZONE $GCE_INSTANCE --command 'docker login -u [user] -p [password] && docker pull [repository:tag]'
2022 编辑
为了更安全,请使用 Github Secrets。
为避免通过 run
直接使用 SSH 命令,有一项作业 appleboy/ssh-action@master
用于此;
jobs:
deploy:
runs-on: [ubuntu-latest]
steps:
#Job starts here
- name: executing remote ssh commands
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.WEBSPACE_HOST }}
username: ${{ secrets.WEBSPACE_USER }}
password: ${{ secrets.WEBSPACE_PASS }}
#Bash commands may be placed line by line here
script: |
cd ...
git pull
docker-compose up --build --detach