2017-01-05 12 views
2

AWSコードビルドを使用しているからです。&私はDBマイグレーションを行う必要があります。 DBの移行が中断した場合、私はコードビルド&を取り消したいだけです。私はこの部分が働いている、私が今行う必要があるのは途中でドッカービルドをキャンセルすることだけです。これどうやってするの?コマンドをbashでdockerbuildを強制的にキャンセルするにはどうすればよいですか?

これはknex移行コマンドで私.SHファイルです:

#!/bin/bash 
echo "running" 
function mytest { 
    "[email protected]" 
    local status=$? 
    if [ $status -ne 0 ]; then 
     knex migrate:rollback 
     echo "Rolling back knex migrate $1" >&2 
     exit 
    fi 
    return $status 
} 

mytest knex migrate:latest 

exitを実行すると、ドッキングウィンドウのビルドを破る/キャンセルしません。

マイDockerfile(ちょうど包み):

FROM node:6.2.0 

# Create app directory 
RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

# Install app dependencies 
COPY package.json /usr/src/app/ 
RUN npm install 

# Bundle app source 
COPY . /usr/src/app 
RUN chmod +x /usr/src/app/migrate.sh 
RUN /usr/src/app/migrate.sh 


EXPOSE 8080 

CMD npm run build && npm start 

答えて

3

実行出口は/キャンセルドッカビルドを中断されません。

exit 1を実行すると、

ドッカーはDockerfileは言っにおけるRUNシェルスクリプトによって返されるエラーコードに応答しなければならないはずです。

+0

素晴らしい!私はどこを見ても何も見つかりませんでした。私は近いです – James111

+0

@ James111はい、反対の効果のために(反対の効果のための)同様の場合がありますhttp://stackoverflow.com/a/30717108/6309 – VonC

+0

お勧めします:)これはドッカーのどこかで文書化されていない場合ページ、私はそれをすべきだと思う。私はそれが多数の用途のために便利であることを見ることができます:D – James111

関連する問題