(Translated by https://www.hiragana.jp/)
ASCII.jp:GitHub CLI、Azure DevOps Pipelineから使えます!

このページの本文ほんぶん

FIXER cloud.config Tech Blog

GitHub CLI、Azure DevOps Pipelineから使つかえます!

2020ねん10がつ14にち 1100ふん更新こうしん

ぶん松枝まつえだ 宏樹ひろき/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 ほん記事きじはFIXERが提供ていきょうする「cloud.config Tech Blog」に掲載けいさいされた「GitHub CLI、Azure DevOps Pipelineから使つかえます!」をさい編集へんしゅうしたものです。

 最近さいきん自動じどうおに目指めざしている松枝まつえだです。

 仕事しごとをたくさんいただいていて、API開発かいはつ、マニフェストファイルをもちいたKubernetesへのアプリデプロイ、インフラ構築こうちく幅広はばひろ担当たんとうしています。

 ただ、あまりしゅひろげすぎると自分じぶんがボトルネックになってしまいますし、後輩こうはい技術ぎじゅつ伝承でんしょうしたり、会社かいしゃとしてよりいものをつくっていきたいので、「自分じぶんがやっていること」をコード自動じどうしていく必要ひつようがあります。そんなときに使つかえるのがAzure DevOpsのPipelineですよね!

 実行じっこう環境かんきょう用意よういしてくれるのでとても便利べんりです。

 今回こんかいなんらかのコードを自動じどう生成せいせいしてGitHubにほうみたいなとおもったわけです。

 でも、自動じどうしているとはいえ、いきなりdevelopブランチにぶちむのはマズいよな、という気持きもちを日々ひびっていました。

Microsoft-hosted agentsにGitHub CLIが!

 Pipelineでの自動じどう処理しょりくとき、ビルドエージェントにどんなコマンドがインストールされているかチェックしにきます。

 まずは下記かきひらき・・・

https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml#software

 Ubuntu 18.04にしようかな~、とGitHubのリンクにびます。

https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1804-README.md

 CLIのキーワードで検索けんさくをかけてチラチラとていくと…


GitHub CLI

 お!!

 なんかいるじゃないですか!

 これを使つかえばブランチ作成さくせい⇒コミット⇒プルリクエスト作成さくせいまで実現じつげんできるのでは!

 ということでためしてみました。

Azure Pipelineでプルリクエスト作成さくせいする

 作成さくせいしたコードはいろいろ端折はしょるとこんなかんじです。


- script: |
 echo "$(gitHubUserToken)" | gh auth login --with-token
 gh pr create --title "[Auto Generated] Add new script" --body "Please merge this request." --base develop --head $BRANCH_NAME

 まずは gh auth loginでGitHubにログインします。

 gitHubUserTokenにはhttps://github.com/settings/tokens/newで生成せいせいしたPersonal Access Tokenを設定せっていする想定そうていです。もちろんかぎきのVariableですよ!

 権限けんげんはrepoとadmin:orgがあるといみたいです。

 その、gh pr createでプルリクエスト作成さくせいです。簡単かんたんですね!

 ちなみに--titleと--bodyを指定していしないと入力にゅうりょくちになってかえってこれなくなるようです。コマンドのパラメータは調しらべましょう。

わりに

 Azure Pipelineを使つかえば手軽てがるにGitHub CLIが使つかえることがかりました。

 業務ぎょうむ使つか場合ばあいは、GitHubのPersonal Access Tokenをどうあつかうかはける必要ひつようがあります。Libraryに保存ほぞんしちゃうと意図いとしないPipelineで使つかわれてしまうリスクがあるので、どうするといですかね?

 Azure Pipelineでやれることはたくさんあるので、自動じどうすすめていきましょう!

松枝まつえだ 宏樹ひろき/FIXER

 名古屋なごや事業じぎょうしょ所属しょぞく
 得意とくい分野ぶんやはC#、ASP.NET、terraformなど。
 最近さいきんはdocker、K8s関連かんれん勉強べんきょうちゅう

[転載てんさいもと]
 GitHub CLI、Azure DevOps Pipelineから使つかえます!

カテゴリートップへ