LoginSignup
1
1

Azure DevOpsとOracle Cloudを連携してみた

Last updated at Posted at 2023-12-05

はじめに

マルチクラウド環境になった際に既存のDevOps環境はどうすればよいのかというご質問がありましたのでAzure DevOpsとOracle Cloudの連携を行いテストコードを実行してみました。

目次

1.今回の構成
2.連携の実施
3.まとめ
4.参考ドキュメント

1.今回の構成

今回の構成はこちらになります。GithubとAzure DevOpsを連携し、Self HostedエージェントをインストールしたOracle Cloud上のWindowsサーバに対して操作を実行する形となります。
図2.png

また、今回使用するエージェントは3種のエージェントの中からSelf Hostedエージェントを使用して検証を実施しています。
図3.png

[参照]Azure Pipelines エージェント

2.連携の実施

Oracle Cloudにログインしコンソールからパブリックサブネットで連携用のWindowsサーバを作成します。
図4.png
[参考]インスタンスを作成する
これでOracle Cloud側のインフラ準備は完了です。

Azure DevOpsのページに移動し[Start free]を選択します(利用ユーザーにアカウントがある環境を想定しAzure DevOpsの登録設定は省略しています)。
図5.png

Azure DevOpsのページから[+New Project]を選択しOracle Cloud用のプロジェクトを作成します。
image.png

[Organization settings]→[Pipelines]→[Agent Pools]→[Add Pool]を選択しSelf-Hostedを選んだあと[Create]を実行します。
image.png

次にAzure DevOps認証用のパスワードの代わりとしてPAT(パーソナルアクセストークン)を使用します。
Azure DevOpsの右上の[ユーザーアイコン]→[Personal Access Token]→[+New Token]→[Create]を選択します。
※トークンスコープをAgent Pools (Read&manage)に設定
※永続しないように期限を30日に設定します。
[公式手順]個人用アクセス トークンを使用する
image.png

作成した Agent Poolを開いて「New agent」を選択します。
※WindowsサーバのためWindowsの実行コマンド項目を確認します。
※エージェント プログラムのインストール パッケージ(.ZIP ファイル)のダウンロード リンクと「Create the agent」「Configure the agent」「Optionally run the agent interactively」のコマンドラインも、控えておきましょう。
image.png

Oracle CloudのサーバにRDPでログインし先ほどのコマンドを使用しAzure DevOpsとの連携コマンドを実施していきます。
image.png
連携コマンドが完了したらAzure DevOpsポータルに戻り[Agent]タブからサーバが連携できたか確認します。
image.png

コードを実行するためのPipelineを作成します。接続先として[Github]を選択します(Githubアカウントの作成手順などは省略しています)。
image.png
自身のアカウントを選択しrepogitoryとして利用します。
image.png

Pipelineとして[Starter pipeline]を選択します。
image.png

連携確認コマンド実行のためのYAML構文を作成します。
完了後[Save and run]を実行します。
image.png

Oracle Cloudのサーバで実行結果を確認します(Failed or Succeededが表示されます)。

実行ジョブから過程のログも確認し問題ないことが確認できれば完了です。
image.png

3.まとめ

今回にはAzure DevOpsとOracle Cloudの基本的な連携を実施しました。
実際に運用する実用レベルの応用としては以下のようなことも可能です。
1.Terraformを利用したIaaSベースの環境のデプロイの実行
image.png
2.Kuberbetesベースの環境のデプロイの実行
image.png
3.redgateやLiquibaseなどを利用したOracle Databaseの操作
image.png
このようにマルチクラウド環境でも様々なDevOps連携ができますので是非検証と実行を試してみてください。

4.参考ドキュメント

こちらは今回の検証の際に確認したドキュメントになります。
Oracle Linuxを用いたAzure DevOpsとの連携方法の解説
DevOps の Self-hosted エージェントを構築して使ってみよう!
Oracle Cloudを使用したLinux上でのAzure DevOpsビルド・エージェントのホスト
Azure DevOps Services の料金体系をおさらいしてみよう!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1