Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。TumblrはじめにVSTSビルドエージェントを作るDockerレジストリへの接続設定Re:VIEW文書をビルドする成果物にする成果物の原稿を他人と共有する(追加)終わりにはじめにTFS2017本をRe:VIEWを使って書いているのですが、ローカルビルドでやっていました。Linuxでpdf生成までやろうとすると、ディスク食うのでやってみたかったDockerとの連携をすることにしてみました。AgentにGit-LFSが入っていないようで、原稿のpullができませんでした(報告済み)。LFSも入っています。Agentでビルドできました。したがって、この手順は不要です。Agentを選択してください。LTSを立てて、ビルドエージェントを作ります。VSTSビルドエージェントのdockerイメージが提供されているので、素直に使います。https://store.docker.com/community/images/microsoft/vsts-agentこんな感じのシェルスクリプトを作って起動させます。Token)は最長一年なので、気を付けてください。期限切れの通知もありません。136の新機能でPATの有効期限切れが通知されるようになりました。VSTSエージェントをdockerで実行します。マウントさせるのはほんとはまずいらしいのですが、VSTSエージェントはsshなどでログインさせる必要がないので、大丈夫のはずです。最初にDocker拡張機能を追加します。marketplace.visualstudio.com拡張機能を追加すると、dockerビルドタスクが使えるようになります。コンテナイメージを都度pullする場合、管理ページからdocker.comへの接続を作ります。DockerIDとパスワードを指定します。Re:VIEW文書をビルドする本のPDF/epubごとにビルドタスクを作ります。DisplayName:タスクの表示名です。Name:vvakameさんが提供してくれてる、vvakame/reviewを指定します。マウントするボリュームを選択します。$(Agent.BuildDirectory)配下にTeXフォントキャッシュ(?)を指定します。ビルドで使用する$(Build.SourcesDirectory)をマウントしておきます。ビルドに指定するコマンドを指定します。config.yml"ソースリポジトリからpullしたソースが$(Build.SourcesDirectory)にあるので、その下/1_setupでPDFを作ります。この記事中に出てくる$()で囲まれている文字列は、VSTS内で定義されている値です。どんな値が定義されているかはこちらに載っています。www.visualstudio.com例えば、Gitのコミットハッシュやブランチ名などを使うのもいいでしょう。$(Build.SourcesDirectory)などのこの記事中の値はすべてVSTSでデフォルト定義されているものしか使っていませんが、例えばデータベースへのパスワードなどはvariablesハブで定義した独自の値を使うこともできます。KeyVaultに保存しましょう。groupsに登録しておけば、ビルドとリリースの両方で使えます(今回はリリースを使っていませんが)。成果物にするRe:VIEWでは特に指定しなければ、ソースフォルダ直下に作成します。このままではすぐに消えてしまうので、どこかに取っておきます。ここではVSTSの中に保持しておきます(これもデフォルトでは一定期間で削除されます)。www.visualstudio.comwww.visualstudio.comまず、成果物として、VSTS内に保存したいファイルだけをソースファイルからステージングフォルダへコピーします。Artifactタスクがフォルダ丸ごとのコピーしかできないためです。Folder:$(Build.SourcesDirectory)を指定します。Contents:コピーしたいファイルを選択します。minmatchパターンが使えます。Folder:$(Build.ArtifactStagingDirectory)を指定します。ArtifactタスクでVSTS内に保存します。Publish:先ほどコピーした$(Build.ArtifactStagingDirectory)を指定します。Name:成果物の名前です。dropを慣例的につけてます。Type:Serverを指定すると、VSTSに保存します。Shareを指定すると、UNCのファイル共有になります。Storageのファイル共有になるでしょう。ビルドが成功すれば、このようにartifactsに格納されます。成果物の原稿を他人と共有する(追加)VSTSは無料で5人まで無制限のGitリポジトリとしてアクセスできます。epub/pdfだけアクセスできればいいという場合、ライセンスを使うのももったいない話です。いう場合、ビルドタスクで各種クラウドストレージやGitHubに送るという方法が考えられます。Releaseに送る拡張機能。marketplace.visualstudio.comAWSのS3などに送るための拡張機能。marketplace.visualstudio.com標準機能でもあるのですが、ビルドできたことをSlackへ通知するための拡張機能(VSTSへのアクセス権がある人はメール通知もできます)。ADで運用しているVSTSじゃないと使えません。APIを使うしかないようです。2.0のコマンドがよく理解できなくて止まってます...。Windows上のエージェントだったらPowerShellやAzCopyを使ったコピーが楽にできるのですが。CoreベースのAzCopyにはまだ公式Dockerイメージがないようなので。自分で作るしかないか...。終わりにdockerをあまり理解しておらずやってたので、結構試行錯誤しました。これでCIができました。agent使えばビルド時にdockerイメージをpullすることもできるはずです。Agentでやったのですが、vvakame/reviewイメージのダウンロードは大体30秒かからないようです。毎回だとちょっときついですね。Studio,TFS,ALM,DevOps関係のことについていろいろと書いていきます。2023/4/20の更新AzureのPaaSのローカル開発環境まとめはてなブログをはじめよう!kkamegawaさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。