Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。アドベントカレンダー18日目の記事です。qiita.comVSTSにはNuGet/maven/npmパッケージソース機能が用意されています。大部分の用途ではパブリックな公式サイトから取ってくればいいのですが、特定のバージョンのまま検証が済むまでアップデートをさせたくない、というケースはあり得ます。オンプレミスのTFSを使う場合、インターネットへの接続を(今時ではちょっと難しくなりましたが)抑止したい場合にもパッケージサーバー機能は有効です。パッケージ機能に関しては、BASICライセンスでは使えません。Enterpriseサブスクリプションを購入する必要があります。継続的インテグレーションも可能になっています。パッケージフィードを作るまずはパッケージフィードを作らなくては話になりません。Packagesから作成します。feedをクリックします。わかりやすいフィード名を追加します。プライベートか、VSTSアカウントが使える人なら誰でも使えるようにするのかという設定、Upstream(nuget.orgやnpm.org,mavenなど)をソースにするのか、ここに登録したパッケージのみ使えるようにするのか、といった設定を行います。フィード作成直後は当然ですが何もありません。ここから作っていきます。feedをクリックすると、この作成したフィードに接続するための情報が表示されます。フィードには正式版以外にもプレリリース(nugetであれば-preオプション必須のパッケージ)版のパッケージなどを設定できます。nuget/maven/npm/gradleといったパッケージのソースとして使うこともできます。Studioのパッケージソースとして追加できます。表示されているコマンドをそのままコピペして、実行します。Studioのnugetパッケージマネージャーのソースとして追加されているのがわかります。nugetパッケージのCIこれでどハマりしました。Coreにも罠が待っていました...。そのうち改善されるとは思います。Coreのライブラリをnugetパッケージにするためのビルド定義を作ります。Coreテンプレートからで構いません。NuGetのバグ回避のため、最新版をスタンドアロンインストールするタスクを追加しておきます。SDKでもnupkg作れるようですが、nugetを使います。Coreのnugetパッケージが作れないという既知のバグがあります。agentのmsbuildをフルパスで呼び出して以下のタスクを実行します。/p:Configuration=$(BuildConfiguration)ビルドしたnupkgファイルをartifactstagingフォルダにコピーします。pushコマンドで作成したVSTSローカルのパッケージフィードに登録します。これでビルドすると、先ほど作ったパッケージフィードに登録されています。ここではやっていませんが、ビルドごとにパッケージバージョンののインクリメントを実行することもできます。Coreの場合、macOS/Windows/Linuxと複数プラットフォームのバイナリが入ったnupkgを要求されることがあると思います。いう場合、以下の方法で実施できるでしょう。macOSそれぞれのエージェントでマルチフェーズビルドを実施するただし、それぞれのフェーズではnupkgを作らず、生成されたdllのみをartifactとして登録する。agentでは当然サーバーが違うので、複数フェーズビルドでは最後にnupkgをまとめることはできませんが、artifactとして一つにまとめることはできるので、バイナリのみ集めておいて、Releaseでnupkgを作ればいいでしょう。パブリックとプライベートの使い分け通常、stableのリリース版はnugetやnpmに発行すればいいですが、内部のプレリリース開発用までnugetに出していると煩雑です。いう場合のために、外部に公開する前にVSTSのnugetサーバー機能を使って評価すればいいでしょう。個人的にはdevブランチをビルドするとVSTSのPackageへデプロイ、masterブランチをビルドするとnugetへ登録するというビルド定義を作っています。ビルドエージェントがいつもより遅かった気がする)、ビルドの無償枠がだいぶ溶けました...。六週間後かと思っていたのですが、二週間で出てしまいました。Studio,TFS,ALM,DevOps関係のことについていろいろと書いていきます。2023/4/20の更新AzureのPaaSのローカル開発環境まとめはてなブログをはじめよう!kkamegawaさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。