我的部署腳本如下:
- name: Log in to GitHub Packages
run: echo ${PERSONAL_ACCESS_TOKEN} | docker login ghcr.io -u ${{ secrets.NAMESPACE }} --password-stdin
env:
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Build and deploy images on DigitalOcean
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
scp -o StrictHostKeyChecking=no -r ./.env ./docker-compose_prod.yml root@${{ secrets.DIGITAL_OCEAN_IP_ADDRESS }}:/app
ssh -o StrictHostKeyChecking=no root@${{ secrets.DIGITAL_OCEAN_IP_ADDRESS }} << 'ENDSSH'
cd /app
source .env
docker login ghcr.io -u $NAMESPACE -p $PERSONAL_ACCESS_TOKEN
docker pull $WEB_IMAGE
docker pull $NGINX_IMAGE
docker-compose -f docker-compose.prod.yml up -d
ENDSSH
我得到的錯誤是
拉網(ghcr.io / *** / testdriver_tutorial /網:ba673356fe8a9abcf25700b8a12619e414bbaf7c)...頭
更新
我剛剛
docker login ghcr.io -u $NAMESPACE -p $PERSONAL_ACCESS_TOKEN在數字海洋液滴上做了,它要求輸入密碼。如何關閉此密碼身份驗證以使其僅使用
PERSONAL_ACCESS_TOKEN?uj5u.com熱心網友回復:
問題不在于 docker pull,問題在于在 docker login 之前執行的命令
source .envrun: | scp -o StrictHostKeyChecking=no -r ./.env ./docker-compose.prod.yml root@${{ secrets.DIGITAL_OCEAN_IP_ADDRESS }}:/app ssh -o StrictHostKeyChecking=no root@${{ secrets.DIGITAL_OCEAN_IP_ADDRESS }} << 'ENDSSH' cd /app source .env docker login ghcr.io -u $NAMESPACE -p $PERSONAL_ACCESS_TOKEN
source .env- 特別是在 Django Secret Key 中有一個特殊字符。GitHub 操作繼續下一步。我不確定結果如何unauthorized error,但修復源 .env 中的語法使其登錄。轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/316722.html
標籤:github docker-compose github-actions 数字海洋
上一篇:如何使用CodePipeline中的“AWSConnectorforGitHub”訪問我組織的GitHub存盤庫?

