带有GitHub操作的JIB



简介

我目前正在创建一个GitHub Actions,它可以自动构建一个容器。

我想知道是否可以创建一个GitHub操作来自动构建容器,而无需在项目的pom.xml中添加JIB

如果我们做不到,你能告诉我怎么做吗?

在Maven中,您可以运行插件的目标,而无需将插件添加到pom.xml。例如,

mvn compile com.google.cloud.tools:jib-maven-plugin:3.2.0:build -Djib.to.image=foo

对于Gradle,可以使用一个技巧来使用initscript:

# Adds Gradle init script that applies the Jib Gradle plugin.
echo "initscript {
repositories { maven { url 'https://plugins.gradle.org/m2' } }
dependencies { classpath 'gradle.plugin.com.google.cloud.tools:jib-gradle-plugin:3.2.0' }
}
rootProject {
afterEvaluate {
if (!project.plugins.hasPlugin('com.google.cloud.tools.jib')) {
project.apply plugin: com.google.cloud.tools.jib.gradle.JibPlugin
}
}
}" > "$HOME"/init-script.gradle
# Runs the Gradle Jib build.
gradle jib 
--init-script="$HOME"/init-script.gradle 
-Djib.to.image=foo

你可以在这里找到一个例子。


另一个可能适用于您的选项是Jib CLI,它具有从现有JAR构建容器的功能。

jib jar --target=my-registry.example.com/jar-app myapp.jar

还有一个名为JibCore的Java库,您可以用它编写Java程序来构建容器。Jib Maven和Gradle插件以及Jib CLI都是基于Jib Core的。

是的,你可以,在你的GitHub工作流中使用以下代码:

name: JIB container publish
on:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: JIB container build and publish
uses: MathieuSoysal/jib-container-publish.yml@v2.0.7
with:
PASSWORD: ${{ secrets.GITHUB_TOKEN }}

有关更多详细信息,您可以访问:https://github.com/MathieuSoysal/jib-container-publish.yml

我们必须配置pom.xml,否则我们无法配置。

你可以在这里:https://github.com/GoogleContainerTools/jib以获取有关JIB的更多信息。

相关内容

  • 没有找到相关文章

最新更新