LoginSignup
3
0

More than 3 years have passed since last update.

AWS CodePipelineを通すとsymlinkがテキストファイルになる件

Last updated at Posted at 2019-11-27

はじめに

AWS CodePipelineはデフォルトでは、

  1. Source

  2. Build

  3. Deploy

の3ステージでCI/CDパイプラインを実行します。

上記のSourceステージのリポジトリにsymlinkがあった場合、それらはBuildステージの段階でただのテキストファイルに変化してしまうようです。

Sourceステージでの状態

以下は、Sourceステージ(CodeCommitあるいはGitHubリポジトリ)での状態です。
この段階ではsymlinkとなっています。

$ ls -l
-rw-r--r--  1 foo  bar  193 Nov 27 19:10 appspec.yml
-rw-r--r--  1 foo  bar    0 Nov 27 19:10 blank.txt
-rw-r--r--  1 foo  bar  108 Nov 27 19:10 buildspec.yml
lrwxr-xr-x  1 foo  bar    9 Nov 27 19:10 symlink.txt -> blank.txt # symlinkになっている

Buildステージでの状態

次に、Buildステージでの状態を見てみます。

具体的にはマネジメントコンソールのCodeBuildの画面での、このファイルです。
Sourceステージのリポジトリの特定のブランチ・コミットが、ZIPに固められてS3にアップロードされたもの、という理解です。

スクリーンショット 2019-11-27 19.57.45.png

これをダウンロードして中身を見てみると、以下の通りsymlinkでは無くなっています。

$ ls -l
-rw-rw-r--  1 foo  bar  193 11 27 10:01 appspec.yml
-rw-rw-r--  1 foo  bar    0 11 27 10:01 blank.txt
-rw-rw-r--  1 foo  bar  108 11 27 10:01 buildspec.yml
-rwxrwxrwx  1 foo  bar    9 11 27 10:01 symlink.txt # symlinkではなくなっている

symlink.txtの中身は以下のようなテキストファイルになっています

symlink.txt
blank.txt

最後に

CodePipelineの仕様?なんでしょうか。

CodePipelineを使っていて、気になった点でした。

3
0
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
3
0