GitHubのアクションは、CI CDを完成しました

私の展開、バージョン管理する前に、CI、CDはであるジェンキンス  完了ダウン

githubの上に新しいおもちゃのアクションを見るために数日前、ちょうど天国におびえ

それはあなたの倉庫でのイベント(プッシュ、プル、問題を、...)をトリガすることができたとき、あなたは、スケジュールされたコマンドの一部を実行するサーバを割り当てます

そして、それは学ぶために長い時間半ほどの非常に簡単なスクリプトです

この記事の焦点は

使用githubのアクションは、CIとCDはジェンキンスの一部をスキップしますか

 

図1に示すように、まず必要なのサーバーにその割り当てられたコードを引っ張って

2、ビルド環境を追加

3、コードのコンパイル

4、dockerhubにアップロードコンパイル結果(ミラー倉庫)

図5に示すように、接続K8Sクラスタ

6、予告K8Sミラーの交換や、レコードのバージョンを作ります

 

関連アクションは、使用しての疲れではありませんガイド

 

 

名前:.NETのコア#名

に:[プッシュ]#トリガイベント
ジョブズ:   
  ビルド:
    走る -ON:ubuntu- サーバシステムの最新#割り当てる
    ステップ:
     -用途:アクション/ チェックアウト@ V1#チェックアウトを行う@ v1のスクリプト
     - 名:実行するコマンドグループ名の設定、.NETのコア#
      用途は:アクション /セットアップ-DOTNET V1 @#A基本設定-実行し、その主な役割は、ネットDOTNETのビルド環境をインストールすることですDOTNET @ v1のスクリプト
      で:セットアップに渡された#パラメータ - DOTNETを@ v1のスクリプト
        DOTNET -version:2.2108 ここで#ネットコアバージョンは、コードの私のバージョンがある
     - 名前:DOTNET#カスタムコマンドグループ名を持つビルド
      RUN:DOTNETビルド - コンフィギュレーション・リリース番号は、ビルド操作を実行します
    - 名前:プッシュドッカーのバッシュ
      ENV:ここで#はに似て読み取り専用にのみ、現在のコマンドグループの下で使用される一時的な変数を追加無益な一時変数個人的な感情を追加
        IMAGE_TAG:$ {{secrets.kube_deployment_name}} :$ {{githubの。 SHA}}#同様の読み取り専用 IMAGE_TAG = xxx.xxx $ {{}} secrets.xxは、バックグラウンドで私の設定変数である
        DOCKER_NAME:$ {{secrets.docker_name}} #の同上
      RUN: | 
        ドッカーログイン -u $ {{秘密}} .docker_name - dockerhub感触を間違ったの上のp $ secrets.docker_pwd}} {{#ログが、私は、変更方法が見つかりませんでした
        ドッカービルドを。 --file Dockerfile - タグ#$ IMAGE_TAGビルドをし、タグの追加
        ドッカータグをIMAGE_TAG $ DOCKER_NAME $ / $ IMAGE_TAG#修正倉庫アドレス
        ドッキングウィンドウプッシュ$ DOCKER_NAME/ $ IMAGE_TAG#ミラーリポジトリに私をプッシュするあなたは、独自のプライベートと交換することができる公共の図書館である
     - 名前:クラスタへの展開
      用途:steebchen / kubectl#@マスターA基本設定-実行DOTNET @ v1のスクリプトその主な役割はkubectlをインストールすることです
     - 名前:ConnectionKubeCtl#K8Sクラスタに接続
      RUN: | 
        kubectl設定SET -credentials TF-ADMIN --token = $ {{}}#のconfigure secrets.kube_tokenログインここで私はkubectlでトークンログを使用していますが-n kube-秘密を記述する$システム(システムkubectl -n Kube- GETシークレット| awkの'/ダッシュボード-ADMIN /} $を{プリント1 ' )を表示するためのコマンド
        kubectl設定SETを TF-クラスタスキップ-clusterは---安全でない= TLS-を確認trueに -サーバー=$ {{Secrets.kube_server}}#1のconfigure接続アドレス
        kubectlコンフィグSET -context-TF TF-クラスタシステム--cluster = --user = TF- ADMIN 
        kubectlコンフィグ利用 TF--context システム  
     - 更新プログラムの展開イメージ#KUBE:名前K8S通知バージョンと更新画像生成レコード
      RUN: | 
        kubectlのSETのイメージの展開/ $ {$ {} {} {secrets.kube_deployment_name secrets.kube_deployment_name = $ {{}}}} secrets.docker_name / $ {} {secrets.kube_deployment_name }:$ {{}} github.sha --record -n aspnetcore

 

ここではいくつかの入門スクリプトです

各言語などをコンパイルしました。..

 

 

 

ここでは、用途はコマンドグループを実行YMLある参照文書などのコマンドやビューを実行するためのコマンドの多くを検索することができます

 

 

 

 

 

私は2つの支店を持っていた後、

デバッグとリリースブランチ

開発環境は、デバッグブランチプッシュCIイベントをリッスンして継続的インテグレーションを行います

金生産はもちろんの連続配信CDを達成するために、マージ要求リリースブランチとビルドの完全自動化を聴いているあなたは、連続的な展開を行うことができます

 

お読みいただきありがとうございました

おすすめ

転載: www.cnblogs.com/AnAng/p/12046864.html