環境
タイトルにあるようにソースコードのホスティングにはBitbucketを使用する必要があります。
はじめに
この記事はこちらの続きです。
コマンドでgit ftp push
をしたくなかったのと、push時に色々出来るようにしたかったので、Bitbucketのpiplinesを使って見ました。
こちらの記事の続編であるため、
git ftp init
は終わっているという前提で進めていきます。
1.Bitbucketでpiplinesを有効化
Bitbucketではデフォルトでpiplinesが無効化されているので、有効化していきます。
リポジトリのページにアクセスをして、サイドバーの一番下の「設定」をクリックします。
「設定」 → 「settings」をクリック
「settings」をクリックしたら、以下のように有効化させます。
以上でBitbucket側の設定は完了です。
2.bitbucket-pipelines.ymlに設定を記述
上記でpiplinesが有効化されたら、タスクを登録するためのファイルを作成します。
該当のリポジトリ内にbitbucket-pipelines.yml
というファイルを作成します。
作成したら、以下を入力
image: samueldebruyn/debian-git
pipelines:
default:
- step:
script:
- echo "Pipline Start"
- apt-get update
- apt-get -qq install git-ftp
- echo "start deploy"
- git ftp push --user FTPのユーザー名 --passwd FTPのパスワード ftp://FTPのホスト/対象となるディレクトリ
- echo "All done deploy"
例:
- FTPのユーザー名:ftp-user
- FTPのパスワード:ftp-user-pass
- FTPのホスト:example.xsrv.jp
とした場合は、以下のようになる。
image: samueldebruyn/debian-git
pipelines:
default:
- step:
script:
- echo "Pipline Start"
- apt-get update
- apt-get -qq install git-ftp
- echo "start deploy"
- git ftp push --user ftp-user --passwd ftp-user-pass ftp://example.xsrv.jp/
- echo "All done deploy"
bitbucket-pipelines.ymlを設定し、masterにpushを行うと、piplinesが起動する。
piplinesの経過はリポジトリページのpiplines
で確認が出来る。
以上で、git ftp push
をコマンドから実行しないで実行が可能となる。
3.設定情報を環境変数に置き換える
設定ファイルにパスワードなどを書き込みたく無い場合は、環境変数に置き換える。
設定→Piplines→Environment variablesをクリックする
環境変数を設定していく、一応簡易な手順
- 1.Variable name:変数名
- 2.Value:変数に代入する値
- 3.Securedにチェック入れてaddする
以下が設定された状態
2で設定したbitbucket-pipelines.yml
を以下のように変更する。
Bitbucket側に環境変数を定義したので、該当部分を環境変数に変更していく。
設定した環境変数を用いる場合は、$変数名
とする必要がある。
例:FTP_USERとした場合、$FTP_USERとymlファイルに記述する
image: samueldebruyn/debian-git
pipelines:
default:
- step:
script:
- echo "Pipline Start"
- apt-get update
- apt-get -qq install git-ftp
- echo "start deploy"
- git ftp push --user $FTP_USER --passwd $FTP_PASS $FTP_URL
- echo "All done deploy"
上記が設定し終わったら、再度masterにpushをして確認してみる。
ここでこける場合は、bitbucket側の設定とbitbucket-pipelines.ymlの記述が正しく無い可能性があるので、チェックして見てください。