見出し画像

gitlabを使ったAWS CodePipeline

https://ap-northeast-1.console.aws.amazon.com/codesuite/codepipeline/pipelines

この辺のやつ

表題の通り今回はgitlabでprojectを1つ用意する。

gitlabの用意


gitlab.com側の画面

ここではcodepipeline testという名前にした。まあこれは適当でいいだろう。アクセスレベルもprivateでok。

clone

作業用のコンソールがあるとしてそこでclone

% git clone https://gitlab.com/catatsumuri/codepipeline-test.git
Cloning into 'codepipeline-test'...
Username for 'https://gitlab.com': catatsumuri
Password for 'https://catatsumuri@gitlab.com':
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.

当該のdirにcdしてindex.htmlをでっち上げる。最終的にはビルドなどする整形されたタイプがよいだろうけど今回は動作を見るだけなのでこんなんでよいだろう。

<!DOCTYPE html>
<html lang='en'>
<head>
  <meta charset='UTF-8'>
  <meta name='viewport' content='width=device-width, initial-scale=1.0'>
  <title>CodePipeline Test</title>
</head>
<body>
  <h1>Welcome to my CodePipeline Test!</h1>
  <p>This is a simple HTML page deployed via AWS CodePipeline and S3.</p>
</body>
</html>

AWS側の設定


パイプラインを作成する

Build custom pipelineを選択

これはとりあえず名前だけ決めて次


ソースプロバイダーはもちろんGitLabを選択

そうすると

このように開いてくる



このように別ウインドウで接続し、authorizeする


こんな感じで接続設定をキメていく

そしてトリガー だが

「フィルターなし」にとりあえずしておく。

ビルドステージ

ls
cat README.md

これはテスト目的なので上記のように入力しておく。

デプロイステージ 

これは「導入段階をスキップ」

このように設定できた。

すると自動的にビルドステージがはじまるはずだ



成功するとこのようになる。


「詳細を表示」を押すと


このようにlsとcat README.mdが実行されているのが理解できる。

変更してみる

ドキュメント通りにやると、まだindex.htmlを作成しただけで何もしていないはずだ。これをcommit&pushする。

% git status
On branch main
Your branch is up to date with 'origin/main'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        index.html

nothing added to commit but untracked files present (use "git add" to track)
git add .
git commit -m "add index.html"
git commit

としたときに、codecommitのdashboardを見てみよう


自動的にpipelineが動きだしている
完成すると

[Container] 2024/10/28 08:18:28.589591 Running command ls
README.md
index.html

などとなるだろう

まとめ

とりあえず動いたというレベル。次回はもう少し細かく設定していく。

いいなと思ったら応援しよう!