问题描述
我正在尝试使用 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