序文Jenkins ベースの KubeSphere DevOps システムは、Kubernetes の CI/CD ワークフロー専用に設計されています。開発チームと運用チームが Kubernetes にアプリケーションを非常にシンプルな方法で構築、テスト、リリースできるようにするワンストップ ソリューションを提供します。また、プラグイン管理、Binary-to-Image (B2I)、Source-to-Image (S2I)、コード依存関係のキャッシュ、コード品質分析、パイプラインのログ記録などの機能も備えています。 DevOps システムは、アプリケーションを同じプラットフォームに自動的にリリースできる自動化された環境をユーザーに提供します。また、サードパーティのプライベートイメージリポジトリ(Harbor など)やコードリポジトリ(GitLab/GitHub/SVN/BitBucket など)とも互換性があります。包括的で視覚的な CI/CD パイプラインをユーザーに提供し、優れたユーザー エクスペリエンスを実現します。この互換性の高いパイプライン機能は、オフライン環境で非常に役立ちます。 つまり、DevOps は、完全に自動化されたワンストップ サービスで、コードの取得、プロジェクトのコンパイル、イメージのビルド、イメージのプッシュ、プロジェクトのデプロイを行うのに役立ちます。 DevOps 機能のインストール方法については、https://kubesphere.io/zh/docs/pluggable-components/devops/ を参照してください。 DevOps プロジェクトを作成し、パイプラインを作成するDevOps プロジェクトを作成します: エンタープライズ スペース -> DevOps プロジェクト -> 作成。プロジェクト名を入力し、「OK」をクリックします。 パイプラインを作成する: 作成した DevOps プロジェクトをクリックし、パイプライン メニューを見つけて [作成] をクリックし、パイプライン名を入力します。 コード リポジトリに入力してもしなくてもかまいません。今入力すると、Webhook アドレスが表示されます。このアドレスは Git (または他のウェアハウス) に移動するために使用できます。ウェアハウスは、コードが送信されるとパイプラインを自動的に実行するように設定されています。これはコールバックに相当するため、プロジェクト展開へのコードの送信は完全に自動的なプロセスになります。 ここでは、何も入力されていない状況を説明します。パイプライン名を入力したら、「次へ」をクリックし、「作成」をクリックします。 編集パイプライン先ほど作成したパイプラインをクリックして入力し、「パイプラインの編集」をクリックします。 ご覧のとおり、テンプレートは 2 セットあります。ここでは 2 番目のセットを選択し、[保存] をクリックします。 効果を確認したら、「パイプラインの編集」をクリックします。 入力すると、右側にエージェントが表示され、その下にエージェントの種類とラベルが表示されます。プロキシタイプとして、ノードを選択します。以下のラベルには、base、go、maven、nodejs の 4 つのオプションがあります。
公式ウェブサイトの説明: https://kubesphere.io/zh/docs/devops-user-guide/how-to-use/choose-jenkins-agent/。 ここでは Java プロジェクトをデプロイしているので、Maven を選択しました。 1. プルコード
ステップの追加をクリックします: 特定のコンテナを選択します: コンテナ名を入力して「OK」をクリックします。 ネストされたステップの追加をクリックします。 Git 経由でコードをプルすることを選択します。もちろん、svn を使用している場合は、以下のチェックアウトを選択できます。エディターはgitを使用します。 gie リポジトリの URL とブランチを入力し、[資格情報の作成] をクリックします。
次に「OK」をクリックします。 プルされたコード ディレクトリを表示する場合は、ネストされたステップを追加できます。 次に、「OK」をクリックして「保存」をクリックします。 完了したら、「実行」をクリックして効果を確認できます。 2. プロジェクトのコンパイル実行後、もう一度「パイプラインの編集」をクリックし、2 番目のステップをクリックして、名前に「プロジェクトのコンパイル」と入力します。 同様に、Maven コンテナを指定し、ネストされたステップ: シェル スクリプトを追加して、Maven パッケージ化コマンドを入力します。 パッケージをクリーンアップします。 テスト。 スキップ= 真 「確認」をクリックし、「保存」をクリックして実行し、効果が成功したかどうかを確認することもできます。 3. イメージを構築する実行後、もう一度「パイプラインの編集」をクリックし、3 番目のステップをクリックして、名前に「Build Image」と入力します。エージェントタイプ: なしを選択します。 同様に、Maven コンテナを指定し、ネストされたステップ: シェル スクリプトを追加し、コマンドを入力して、ディレクトリ内のファイルを表示します。 ls isee - ゲートウェイ/ ターゲット docker build image コマンドを入力します。 $ docker build -t isee - gateway : 最新-f isee - gateway / Dockerfile isee - gateway /
実際の使用では、一度に 1 つのイメージを構築することはできません。イメージをビルドする必要があるマイクロサービスが複数または数十ある場合があるため、ここで並列ステップを追加し、上記のステップを続行してビルドすることもできます。 4. 画像をプッシュする実行後、もう一度「パイプラインの編集」をクリックし、4 番目のステップをクリックします。
同様に Maven コンテナを指定し、ネストされたステップ「資格情報の追加」を追加します。 [OK]をクリックします。作成後、先ほど作成した資格情報を選択し、ユーザー名とパスワードの変数を入力します(ユーザー名とパスワードが変数として使用されることを意味します。この変数を使用して、Alibaba Cloud ウェアハウスにログインしたり、イメージをプッシュしたり、その他の操作を行うことができます。このように、ユーザー名とパスワードを手動で入力する必要はありません)。 [Alibaba Cloud Warehouse にログイン] ネストされたステップを追加し、シェル スクリプトを選択して、次のコンテンツを入力します (ここではユーザー名とパスワードの変数を使用します)。 $ echo "$DOCKER_PWD_VAR" | docker ログイン$REGISTRY - u "$DOCKER_USER_VAR" -- パスワード- stdin [画像にタグを付ける] ネストされたステップを追加し、シェル スクリプトを選択して、次のように入力します。 $ docker tag isee - ゲートウェイ: 最新の$REGISTRY / $DOCKERHUB_NAMESPACE / isee - ゲートウェイ: SNAPSHOT - $BUILD_NUMBER [プッシュ画像] ネストされたステップを追加し、シェル スクリプトを選択して、次のように入力します。 $ docker push $REGISTRY / $DOCKERHUB_NAMESPACE / isee - ゲートウェイ: SNAPSHOT - $BUILD_NUMBER もちろん、ここで並列ステップを追加して、複数のイメージを同時にウェアハウスにプッシュすることもできます。 この時点であなたは混乱するかもしれません。上記では、DOCKER_PWD_VAR と DOCKER_USER_VAR の 2 つの変数だけでなく、REGISTRY 変数も使用されています。それで、この変数は何でしょうか?定義はどこにありますか? パイプラインを保存したら、[Jenkinsfile の編集] をクリックします。 下部に、REGISTRY 変数が定義されていることがわかります。 REGISTRY 変数の値を Alibaba Cloud 倉庫のアドレスに変更するだけです。 完了したら、保存して実行し、成功したかどうかを確認します。 5. 展開いつものように、次の手順に従います。 次の手順に従って続行します。 新しい資格情報を作成します: 記入が必要なバウチャーIDがあります。どのように記入すればよいですか? まずパイプラインを保存し、Jenkinsfile の編集をクリックします。下部に KUBECONFIG_CREDENTIAL_ID という名前の変数があり、変数の値は demo-kubeconfig です。この値を入力するだけです。 資格情報が作成されたら、「OK」をクリックして完了します。 パイプラインを保存し、「実行」をクリックします。この時点で、パイプライン全体が編集されました。 |
<<: クラウドネイティブ クラスタにおけるネットワーク トラフィックの可観測性に関する考察
>>: 盛業:産業のデジタル化を支援し、デジタルエコシステムを構築
2019年4月3日、 BステーションUP司会者「老ファンチー」のファン数が正式に1000万人を突破し...
姚金波は23歳のとき、最初の会社を売却し、数十万元で最初の金塊を手に入れました。 28歳でHiChi...
新規のウェブマスターにとって、インクルードは常に最も頭を悩ませる問題です。Google は問題ありま...
666clouds(中国の新興業者が運営)は、中秋節と国慶節に向け、年間支払いで40%割引(月額支払...
drServer.net の 2 つの XEN ブランドの VPS はそれぞれプロモーション用の大型...
これはBaidu統計に関する記事です。ウェブサイト運用関連の分野で働く人であれば、誰でもウェブサイト...
3月26日、Techcrunchは本日、フラッシュセールサイトOne Kings Laneの開発経緯...
地元のインターネット企業の業務範囲は主にウェブサイト構築と百度の最適化であり、そのサービスは中小企業...
SEO にとって最終的な目標は優れたユーザー エクスペリエンスを提供することなので、SEO 担当者は...
可能な限り短い時間と最小限の労力で、可能な限り多くの作業を完了することが、現代の開発の基本的な特徴で...
Kubernetes のリソース制限は、制限が厳しすぎることと緩すぎることの間の適切なバランスを見つ...
IDC の新しい予測によると、クラウド コンピューティングの継続的な導入により、2021 年から 2...
レインボーネットワーク(imidc)の香港・台湾の専用サーバーやVPSが最近とても人気です。特別価格...
gigsgigscloud のシンガポール VPS に新しいシリーズ「仮想専用サーバー」が追加されま...
この経済社会において、文学ウェブサイトは結局のところビジネスであり、文学ウェブサイトを運営する最終的...