2013-06-14 8 views
21

hereのようにTeamCityにビルドステップを設定して、テストサーバーへの自動リリース展開を行っています。しかし、それはTeamCityで構築された最新のナゲットパッケージを使用していません。最新のパッケージを使用していないTeamcityのOctopusデプロイ

使用事例:チームシティーは、バージョン1.0.0.9でnugetパッケージを作成します

、パッケージ内にあるすべてのDLLが正しいバージョンであり、そしてタコでリリース、それが展開されたが、同じことを持っていますバージョン番号ですが、Octopusが使用するパッケージは1.0.0.5などの初期のパッケージです。

ビルドステップで--forceパラメータを指定したので、最新のパッケージを使用する必要がありますが、そうではありません。

私は手動で私は何かが欠けていた場合、誰かが私に言うことができるしてくださいタコでリリースを作成し、それが100%

を取り組んでいる最新のパッケージを選択した場合。それは--forceのように見える、事前

+0

私はまだ最新のパッケージを引っ張っていないだけでなく、パッケージのフォルダを見て、それを設定しています。 – Captain0

+0

チームの都市設定におけるビルド手順の順序は? – Jason

+0

他の手順を続行する前に展開が完了するのを待っていますか?多分あなたの欠けている - 待っています。 Team Cityで使用している手順をもっと知る必要があります。 – Jason

答えて

19

私はTeamCityで2つのビルド構成を作成する必要があると思います。構築するビルドと、Octopusで展開するビルド構成です。 Note that NuGet packages created from your build won't appear in TeamCity until after the build completes. This means you'll usually need to configure a secondary build configuration, and use a snapshot dependency and build trigger in TeamCity to run the deployment build configuration after the first build configuration completes.

だから私の場合、私は2つのビルド構成し、セットアップもスナップショットデプロイの設定にビルドから依存し、キックオフするトリガーを作成しました:端部に向かって小さな宣伝文句がありthis linkを参照してください。ビルドが成功した後に展開します。

+1

合意。 TeamCityビルド中にビルド成果物を公開することはできますが、バックグラウンドで完了しているので、私が知る限り、それに依拠することはできません。 http://confluence.jetbrains.com/display/TCD7/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-PublishingArtifactswhiletheBuildisStillinProgress – piers7

+0

ええ、私も[類似の]を見ました(http://confluence.jetbrains.com/display/TCD8/What%27s+New+in+TeamCity+8.0#What%27sNewinTeamCity8.0-MetaRunner)を投稿した後に、メタランナーを使ってTC 8に投稿しました。私はまだ絶対に必要な場合を除いて、2つのリンクビルドconfigsと一緒に行くか、無料のライセンスの下で許可された20のビルドconfigsの下にとどまるようにしています:) –

+0

私はグーグルで、これは私が見ている最高の答えですが、それは間違っているようですか?私は配備するためにプロジェクトごとに余分なプロジェクトを持つのが好きではありません。 – seFausto

2

おかげで、彼らがすでにインストールされている場合だけ、再インストールするパッケージを強制することです。 --packageversionパラメータを使用していますか?

+0

デプロイされているWebサイトに複数のプロジェクトがあり、パッケージのバージョンがすべて同じではないので、packageversionを使用することはできません – Captain0

+0

ええと、同じパッケージバージョンをすべて与えることは可能でしょうか? TeamCityがNuGetパッケージを作成している場合、nuspecファイルを作成するときにTCビルド番号を使用して、すべてのパッケージ番号が単一のビルドに対して一貫性を保つことができますか? –

1

私の組織はJenkins CIを使用しています。一意のビルド番号をパッケージバージョンとして使用し、--packageversionパラメータを使用して特定のパッケージバージョンを展開します。

展開が必要な複数のサービスがある場合。独自のビルド番号を提供するアップストリームのジョブ/メインジョブがあります。私はあなたがチームシティー

マスタジョブ(独自のビルド番号)と同じことを行うことができます想像

は、パラメータ(独自のビルド)でのジョブAとジョブBを呼び出します。ジョブAとジョブBは(マスタージョブから)バージョンをビルドします。ジョブAとBが完了し、それぞれのバージョンが公開されます。

1

これはいくつかの可能性があります。

http://octopusdeploy.com/documentation/integration/teamcity

あなたはチームシティーでタコからのフィードを消費する方法をあなたが言及していません。私はそこから始めるだろう。

次へ私はあなたの展開を行うためにteamcityアクションを使用します。 「どこに-waitfordeploymentフラグを追加する必要がありますか」と尋ねました。アクションが続行される前に展開が機能していることを確認するためのチェックボックスがあります。

+0

[OK]フラグがチェックされていますが、リンクにはまだ情報がありません。しかし、引き続き同じ問題を出している展開 – Captain0

+0

エージェントには鍵やアクセス権の問題がありますか?エージェントマシンは配備された直後にナゲットパッケージにアクセスできますか? – Jason

0

私はTeamCityでOcto Push Packagesステップを使用し、Additional Parametersフィールドでは--defaultpackgeversion {VERSION}パラメータを指定します。

これはOctoが '最新バージョン'を選択するのではなく、特定のバージョンのパッケージを使用するよう強制します。

0

問題が発生する可能性がさらに考えられます。

  1. タコに問題がConfiguration -> Diagnostics enter image description here

  2. に行く参照するには別の共通の問題は、デプロイステップ

    パッケージ名#{variable}を使用することで現在は不可能であり、パッケージ名は手動で設定する必要があります(例:MyWebSiteまたはMyWindowsService)。この機能については、UserVoiceを参照してください。 enter image description here

関連する問題