具有 GitHub 个操作的 JIB
JIB with GitHub Actions
简介
我目前正在创建一个 GitHub 自动构建容器的操作。
而且我想知道是否可以创建一个 GitHub 操作来自动构建容器而无需在项目的 pom.xml
中添加 JIB?
如果我们做不到,你能告诉我怎么做吗?
我们有义务配置 pom.xml
,否则我们无法配置。
你可以去这里:https://github.com/GoogleContainerTools/jib
获取有关 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
你可以找到一个例子here。
另一个可能适用于您的选项是 Jib CLI,它具有从现有 JAR 构建容器的功能。
jib jar --target=my-registry.example.com/jar-app myapp.jar
还有一个名为 Jib Core 的 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
简介
我目前正在创建一个 GitHub 自动构建容器的操作。
而且我想知道是否可以创建一个 GitHub 操作来自动构建容器而无需在项目的 pom.xml
中添加 JIB?
如果我们做不到,你能告诉我怎么做吗?
我们有义务配置 pom.xml
,否则我们无法配置。
你可以去这里:https://github.com/GoogleContainerTools/jib 获取有关 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
你可以找到一个例子here。
另一个可能适用于您的选项是 Jib CLI,它具有从现有 JAR 构建容器的功能。
jib jar --target=my-registry.example.com/jar-app myapp.jar
还有一个名为 Jib Core 的 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