github操作:发布“--user/api/security/token”:不支持的协议方案“”

问题描述

我正在尝试使用 github 操作将 docker 映像推送到 jfrog。 我能够构建图像,但在推送时出现以下错误错误:发布“--user/api/security/token”:不支持的协议方案“” 错误:进程已完成,退出代码为 1。

name: Pushing Docker image to Jfrog
on: push
  
jobs:
  build-image:
    runs-on: ubuntu-latest
    steps:
    - uses: jfrog/setup-jfrog-cli@v1
    - uses: actions/checkout@v2
    - name: building and pushing image to jfrog
      run: |
       #curl -fL https://getcli.jfrog.io | sh
       jfrog --version
       jfrog rt config MyArtifactory --url $ARTIFACTORY_URL --user $ARTIFACTORY_USER --apikey $ARTIFACTORY_PASS
       docker login -u "${ARTIFACTORY_USER}" -p "${ARTIFACTORY_PASS}" "${ARTIFACTORY_DOCKER_REPOSITORY}"
       docker build  --rm=false -t vpadala-docker-local.jfrog.io/jfrog_ret:${{ github.run_id }} .
       docker run -d -p 8081:8081 vpadala-docker-local.jfrog.io/jfrog_ret:${{ github.run_id }}; sleep 10
       docker ps
       jfrog rt docker-push vpadala-docker-local.jfrog.io/jfrog_ret:${{ github.run_id }} docker-local

解决方法

看起来您正在尝试读取环境变量,而不是读取 GitHub 操作机密。

Secrets 应阅读如下:${{secrets.SecretName }},例如:

jfrog config add MyArtifactory --artifactory-url ${{ secrets.ARTIFACTORY_URL }} --user ${{ secrets.ARTIFACTORY_USER }} --password ${{ secrets.ARTIFACTORY_PASS }}

在此处阅读有关机密的更多信息: https://docs.github.com/en/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow