【发布时间】:2020-03-14 03:38:42
【问题描述】:
我正在使用 GitHub Actions for Gradle 项目,具体步骤如下:
name: Java CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- run: gradle wrapper
- run: ./gradlew bootJar
- run: ls ./build/libs/
- uses: actions/checkout@v1
- name: Login to docker
run: docker login docker.pkg.github.com -u xxxxxx -p xxxxxx
- uses: actions/checkout@v1
- name: Build the Docker image
run: docker build . -t realtimechat-snapshot-0.$GITHUB_REF
- uses: actions/checkout@v1
- name: Tag the image
run: docker tag realtimechat-snapshot-0.$GITHUB_REF realtimechat-snapshot-0
- uses: actions/checkout@v1
- name: Push the image
run: docker push realtimechat-snapshot-0.$GITHUB_REF
在Build the Docker image 一步构建这个 Dockerfile:
FROM alpine:latest
COPY ./build/libs/realtimeChattingSystem-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar
当它尝试复制 jar 文件时出现此错误:
复制失败:统计 /var/lib/docker/tmp/docker-builder207778036/build/libs/realtimeChattingSystem-0.0.1-SNAPSHOT.jar: 没有这样的文件或目录
注意*
- run: ls ./build/libs/ 在步骤中它实际上向我显示了 jar 文件:
运行 ls ./build/libs/
realtimeChattingSystem-0.0.1-SNAPSHOT.jar
问题 #2
在此 post 中进行更改后
我遇到了另一个问题
步骤如下:
name: Java CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 13
uses: actions/setup-java@v1
with:
java-version: 13
- run: ./gradlew bootJar
- name: Login to Github regestry
run: docker login docker.pkg.github.com -u xxxxx -p xxxxx
- name: Build the Docker image
run: docker build . -t docker.pkg.github.com/sulimanlab/realtime-chat/realtimechat-snapshot-0.$GITHUB_REF
- name: Push the image to github
run: docker push docker.pkg.github.com/sulimanlab/realtime-chat/realtimechat-snapshot-0.$GITHUB_REF
在最后步骤我得到这个错误:
推送指的是仓库 [docker.pkg.github.com/sulimanlab/realtime-chat/realtimechat-snapshot-0.refs/heads/master]
3aad04996f8f:准备中
77cae8ab23bf:准备中
解析 HTTP 404 响应正文时出错:顶级值后的无效字符“p”: "404 页面未找到\n"
【问题讨论】:
-
你为什么要一遍又一遍地检查你的回购? 请注意,issue 不止一次使用该操作。如果您需要访问存储库所在的根文件夹,请尝试使用环境变量
GITHUB_WORKSPACE,但只使用一次 checkout 操作。 -
@smac89 非常感谢你,我还有一个问题:我正在使用 > $GITHUB_REF 给每个构建一个标识它的标签。我正在寻找一个在 circleci 中等于 > $CIRCLE_BUILD_NUM 的 env 值
-
我不这么认为,但你可以试试
GITHUB_SHA。 This 是定义所有默认变量的地方 -
@smac89 谢谢,在按照您的建议进行操作后,我实际上遇到了另一个问题,我编辑了问题 [link] (stackoverflow.com/q/58920140/10420300)
-
请提出一个新问题并在此处链接。
标签: java docker dockerfile github-actions github-ci