我向Zenn发布了相同的内容。
概述
GitHub Actions是一种使用jib-maven-plugin创建容器映像并将其部署到GitHub Packages的方法。
使用jib-maven-plugin
构建容器映像
使用
<表格>
tr>
header>
<身体>
tr>
tr>
tr>
tr>
tbody>
table>
命令的示例将在稍后显示。
为GitHub Actions
编写工作流程定义
源代码签出,Java设置,Maven本地存储库高速缓存等类似于典型的Java项目。
容器映像的构建和推送也使用Maven,因此它与典型的Java项目没有太大区别。
在设置上一节中描述的值的同时组装
按下
时的容器映像名称采用
推送目标用户名是GitHub帐户,密码是个人访问令牌。
正如我在有关将JAR部署到GitHub软件包的文章中所写的那样,GitHub Actions允许您从
从上面开始,用于构建和推送容器映像的
1 2 3 4 5 | mvn -B package jib:build \ -Djib.to.image=docker.pkg.github.com/backpaper0/demorepo/demo \ -Djib.to.version=latest \ -Djib.to.auth.username=backpaper0 \ -Djib.to.auth.password=${{ secrets.GITHUB_TOKEN }} |
整个工作流程定义示例如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | name: Building container image with Jib on: push: branches: [ master ] jobs: build: name: Build container image runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 with: java-version: 11 - uses: actions/cache@v2 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Build by Jib env: CONTAINER_IMAGE: docker.pkg.github.com/backpaper0/demorepo/demo run: | mvn -B package jib:build -DskipTests \ -Djib.to.image=$CONTAINER_IMAGE \ -Djib.to.version=latest \ -Djib.to.auth.username=backpaper0 \ -Djib.to.auth.password=${{ secrets.GITHUB_TOKEN }} |
这就是
的全部。