Kubesphere 3.4.0 バージョン。デフォルトでサポートされている Java バージョンは 8 と 11 で、17 はサポートされていません。JenKins エージェントを自分で定義する必要があります。以下のような方法:
1. イメージを構築する
1. Jenkins Agent の github リポジトリからマスターの最新のソース コードを取得する必要がありますが、最新のソース コードはすでに jdk17 をサポートしています。
git clone https://github.com/kubesphere/devops-agent
2. Maven ディレクトリを Docker をビルドできるサーバーにコピーします。そして、Maven ディレクトリに移動します。
3. maven-jdk17 をビルドします。コマンドは次のとおりです。
docker build --build-arg JDK_VERSION=17 -t builder-maven:v3.2.1-jdk17 .
4. 画像にタグを付けて、指定された港の倉庫にプッシュします。
docker tag builder-maven:v3.2.1-jdk17 192.168.0.100:5000/library/builder-maven:v3.2.1-jdk17
#推送到仓库
docker push 192.168.0.100:5000/library/builder-maven:v3.2.1-jdk17
Docker イメージが完成したので、次に kubesphere を構成する必要があります。
2.kubesphereの構成
5. プラットフォーム管理-構成-構成ディクショナリで、jenkins-casc-config を見つけてクリックします。ディクショナリには 2 つの yaml ファイルが含まれています。「その他の操作」---「設定の編集」---「jenkins_user.yaml を開いて編集します。」
6. jenkins_user.yaml を編集する
mavenjdk11 の背後にピアノードを追加します。
- name: "mavenjdk17"
label: "mavenjdk17"
inheritFrom: "maven"
containers:
- name: "maven"
image: "192.168.0.100:5000/library/builder-maven:v3.2.1-jdk17"
7. jenkins.yaml に同様のノードがあることを確認し、追加しました。(動作するかどうかはわかりませんが、少なくともエラーは報告されません)
3. DevOps をテストする
pipeline {
agent {
node {
label 'mavenjdk17'
}
}
stages {
stage('Print Maven and JDK version') {
agent none
steps {
container('maven') {
sh 'docker version'
sh ''' java -version
mvn -v
cd /opt
ls -a
cd /opt/apache-maven-3.5.3/
ls -a
cd conf
ls -a
pwd
cat settings.xml'''
}
}
}
}
}
参考記事:https://blog.csdn.net/qq_40674583/article/details/127839554
https://ask.kubesphere.io/forum/d/9047-kubesphere-devops-jdk17maven