問題タブ [codeship]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Codeship でビルドされたプロジェクトのバージョンをデプロイする適切な方法は何ですか?
現在、私の展開は次のようになっています。
ローカルの変更をコミットした後、ローカルで単調なタスクを実行して、プロジェクトを
/dist
フォルダーにビルドします。次に、それらを bitbucket にプッシュします。例: ブランチ名は feature/deposit です
Bitbucket では、機能/デポジットを開発ブランチにマージし、Codeship ビルドは開発ブランチ (テストを実行) にマージし、その後、次のコードを実行します。
ssh nodejs@12.345.67.891 'cd project/www; git checkout 開発; git pull オリジン開発; npm インストール; sudo monit restart project.app.js'
Codeship が構築したものをデプロイする方がはるかに理にかなっているので、私はこのアプローチが好きではありません。Codeship がnpm install
実行され、grunt:build
タスクを実行してから、運用サーバーにデプロイする必要があります。
同様の問題に対処する記事を見つけ、export CI_COMMIT_ID=$(git rev-parse HEAD) タスクを追加しました。しかし、展開スクリプトで何をする必要があるかを完全には理解していません。私の場合はカスタム展開スクリプトを使用していますが、この例はherokuで使用されています。
また、便利なデプロイ スクリプトを含む github リポジトリも見つけました。これは私のニーズに合っているかもしれません。
しかし、私が理解したいのは、ビルドされたバージョン (Codeship がビルドしたもの) から現在と同じ方法でプルできるかどうかですが、
Codeship がビルドしたばかりのものからプルするgit pull origin develop
必要があります。git pull
coffeescript - SyntaxError: Unexpected token * コードシップでの実行時に coffeescript を使用
mocha テストを Codeship で動作させるのに問題があります。これらはローカルで動作しています。レポを削除して実行しましたnpm install
。引き続きローカルで動作しますが、リモートでは動作しません。
これが codeship がテストを実行しようとしたときの coffeescript コンパイル エラーかどうかはわかりませんが、言語に対するプラットフォームのサポートに関する情報はあまりありません。
Codeship テスト環境に追加しなければならないものがありませんか? コードがローカルで問題ないのに、コードシップですべてが壊れる理由がわかりません。
ローカルで実行する場合:
コードシップのテスト結果:
テスト ファイル:
Events.coffee:
パッケージ.json:
そしてmocha.opts:
も追加してみました--require coffee-script
amazon-web-services - Codeship イメージから AWS をデプロイする
設定
次の手順を実行しました。
私はIAM Managerで作成しました(次の権限のほとんどは不要/冗長であると思います):
権限/ポリシーを持つ codeship と呼ばれるグループ
- AmazonEC2フルアクセス
- IAMFullAccess
- AmazonEC2RoleforAWSCodeDeploy
- AmazonS3フルアクセス
- AWSCodeDeployReadOnlyAccess
- AWSCodeDeployFullAccess
- 管理者アクセス
- AWSCodeDeployRole
- AWSCodeDeployDeployerAccess
- AmazonS3ReadOnlyAccess
a user : 上記で指定されたグループの一部である Codeship (同じ権限)
ロール: CodeDeployServiceRole
- AmazonEC2RoleforAWSCodeDeploy
- AWSCodeDeployReadOnlyAccess
- AWSCodeDeployFullAccess
- AmazonS3ReadOnlyAccess
- AWSCodeDeployRole
- AWSCodeDeployDeployerAccess
次に、タグ付きのE2C Ubuntu インスタンスcodeship:true
を作成しました:インスタンスの状態は実行中です。
さらに、アプリの名前でS3 バケットを作成しました。バケットには、Granted: Any Authenticated AWS User
開く/ダウンロードしてアクセス許可を表示できるプロパティ設定があります。
最後に、自分のアプリの名前でCode Deployment Applicationを作成しました。アプリケーションには
- グループ: コードシップ
- タグ: codeship:true
- 一度に最大ですべてのインスタンスにデプロイします
- arn は IAM ロールのものです
エラー
No hosts succeeded. (Error code: HEALTH_CONSTRAINTS)
私が読んだのは、アクセス許可の欠落に関連しています。画像はzipファイルとしてcodeshipから正しく転送されているようです。速度上の理由から、既にバケットにあるイメージを再デプロイします。
質問
AWS でアプリをデプロイするには、どのような追加設定が必要ですか?
python - django ユーザー継承モデルの失敗
私は Auth.User モデルから継承したモデルを持っています。このように:
django.db.migrations.exceptions.InvalidBasesError: Cannot resolve bases for [] これは、移行のないアプリで移行 (contrib.auth など) のあるアプリからモデルを継承している場合に発生する可能性があります。詳細については 、 https: //docs.djangoproject.com/en/1.9/topics/migrations/#dependencies を参照してください (python3_venv)
エラーを理解しました。OneToOneField で解決できます。ですから、1 つの質問は、この方法で継承を正しく行っているかということです。その他、この方法でこのエラーを解決するにはどうすればよいですか?
heroku - Codeship を使用して Heroku に Angular-fullstack アプリをデプロイする
CodeShip を介して Heroku に Web サイトをデプロイしようとしています。このサイトは、GitHub にプッシュされている Yeoman の Angular-Fullstack ジェネレーターで構築されています。Codeship はプッシュを検出し、全体をビルドしてからトラブルが発生します。
dist/
Angular-Fullstack は、フォルダーに Heroku アプリ全体が含まれるように設定されているため、やみくもにすべてをデプロイしても Heroku では機能しません。ローカルでは、Heroku ツールベルトを使用してログインし、dist フォルダー内にリモートを追加してgrunt buildcontrol
から、すべてを Heroku にデプロイするために使用できます。
ただし、Codeship にはいくつかの注意事項があります。 * wget
sudo が必要なため、Heroku ツールベルトをインストールできません。Codeship はそれをサポートしていません。 Codeship *dist/
フォルダーに移動できず、リモートを追加した後、資格情報を入力する必要があるため、Heroku にプッシュするだけです。
ここで見逃した方法はありますか?master
ビルドからHerokuへのデプロイ(ブランチのみ)までCodeshipに任せたい。
ember.js - npm は ci サーバーに devDependencies コンテンツをインストールしません
CodeShip 継続的統合サーバーで構築しようとしているプライベート Ember.js プロジェクトがあります。そのためには、devDependencies にある ember-cli をインストールする必要があります。自分のマシンでプロジェクトの新しいクローンを作成すると、npm install
ember-cli バイナリが./node_modules/ember-cli/bin/ember
.
ただし、CI サーバーでは、次のファイルしかありませんnode_modules/ember-cli/
。
npm install --verbose を実行すると、ログに次の行があります。
他の devDependencies についても同様の行があります。
NODE_ENV
それが空でnpm config get production
偽であることを確認しました。また、ローカル マシンと CI サーバーで同じノード (0.12.2) と npm (2.7.4) のバージョンを使用していることも確認しました。
私の質問は、ローカル マシンでは動作するのに、CI サーバーでは動作しないのはなぜですか? 欠落している構成値はありますか?
node.js - Jest JS テスト カバレッジ データが Codeship から Code Climate に投稿されない
.js 単体テストに Jest を使用している Node.js ベースのプロジェクトがあります。構成設定が にcollectCoverage
設定されてtrue
おり、ローカルでの開発の実行時と Codeship でのビルドの実行時にテスト カバレッジ テーブルを確認できます。
ただし、テスト カバレッジ データを Code Climate に投稿して結果を表示するためのセットアップを正しく行うことができないようです。
次のように、CodeClimate のセットアップ手順で指定されたリポジトリ トークンを Codeship 環境変数に保存しました。
CODECLIMATE_REPO_TOKEN=xxxxxxxxxx codeclimate-test-reporter < lcov.info
ローカルでは、Jest collectCoverage がプロジェクトのルートでlcov.info
呼び出されるディレクトリにデータ ファイルを保存することを考えるcoverage
と、そのパスで環境変数のバリエーションも試しました。
CODECLIMATE_REPO_TOKEN=xxxxxxxxxx codeclimate-test-reporter < coverage/lcov.info
codeclimate-test-reporter ノード モジュール ( npm install -g codeclimate-test-reporter
) のインストールについては、指示から正確な場所がわかりません。私はそれを入れてみました:
- 一般的なコマンドの直前の Codeship テスト設定セットアップ コマンド セクションで
npm install
、 - Codeship テスト パイプライン構成コマンド セクションで、
また、package.json のローカル dev 依存関係としてインストールしようとしました。
上記のセットアップの試みを組み合わせても、テスト カバレッジに関して Code Climate 側で何も確認できませんでした。
私が行ったことについての最後のメモとして、ローカル ディレクトリをコミットしていないcoverage
ため、Codeship ビルドには含まれていません。
誰かが私が間違っていることを理解するのを手伝ってくれますか?
ruby-on-rails - CI システムで traceroute を使用する方法
走ってみた
コードシップでは、レーキ タスクの traceroute が見つからないと不平を言っていて、「タスクのビルド方法がわかりません」というエラー メッセージが表示されました。私のマシン (tm) では動作しますが、コードシップでは動作しません。何がうまくいかないのですか?
django - コードシップを使用してdjangoアプリをherokuにデプロイするときに移行を実行する
Python 3.5.1 / django 1.9.7 プロジェクトの継続的統合パイプラインをセットアップしようとしています。
プロジェクトは heroku で正常に実行されており、データベースが変更されていない限り、heroku のコードシップ デプロイ パイプラインは正常に機能しています。
移行を実行したい場合はheroku run python manage.py migrate
、コンピューターに入力して手動で実行する必要がありますが、これは避けたいと思います。
を含む「heroku」パイプラインの後に、コードシップ展開パイプラインに「カスタム スクリプト」を追加しましたheroku run python manage.py migrate
が、共学がそれを実行しようとすると、
Cannot run more than 1 Free size dynos.
メッセージ。これは、サーバーがすでに稼働していて、使用可能なワーカー プロセスが他にないためだと思いますか? (間違っている場合は修正してください) 編集:これは私が間違っていた場所です-追加のプロセスを実行していました(回答を参照)
heroku デプロイ パイプラインにデータベース移行ステップを含める方法はありますか? それとも私は何か間違ったことをしましたか?