FAKEスクリプトの一部としてウェブサイトを構築するのではなく、ウェブサイトを公開することは可能ですか?FAKE(F#Make)にウェブサイトを公開
8
A
答えて
7
これは私自身の経験はありませんが、手作業でWebデプロイメントプロセスを実行するには2つの方法があるようです。 MSDuployツール(has a command line interface)を使用するのは、特殊ターゲット(described here)とMSBuildを呼び出す方法(古いもの)です。
これらの両方は、FAKEスクリプトから簡単に呼び出す必要があります。
Target "Deploy" (fun _ ->
let result =
ExecProcess (fun info ->
info.FileName <- "file-to-run.exe"
info.Arguments <- "--parameters:go-here"
) (System.TimeSpan.FromMinutes 1.0)
if result <> 0 then failwith "Operation failed or timed out"
)
次のようなものになりますMSBuildのスクリプトを呼び出す:私が言ったように
Target "BuildTest" (fun _ ->
"Blah.csproj"
|> MSBuildRelease "" "ResolveReferences;_CopyWebApplication"
|> ignore
)
が、私はこれをテストしていませんがそれは可能性があります(ここでは、コマンドラインツールを呼び出すサンプルです完全に間違っているかもしれませんが、うまくいけば、あなたに有用な方向に向けることができます。
5
これを行う方法の1つです。 (出版は建物なしが行われていないため、実際には、正確に、質問に答えていません。)
- は、ウェブサイトを公開する必要があるターゲットを決定します。
- 「ビルド」ターゲットに依存するようにします。
- パブリッシュが必要な場合は、パブリッシュプロファイルを使用して「ビルド」ターゲットをサイトにパブリッシュします。ターゲット 「テスト」、「AcceptanceTest」、「展開」のいずれかが実行されている場所で、このコードで
let testProjects = @"src/**/*Tests.csproj" let requestedTarget = getBuildParamOrDefault "target" "" let shouldDeploy = match requestedTarget with | "Test" | "AcceptanceTest" | "Deploy" -> true | _ -> false // *** Define Targets *** Target "BuildApp" (fun _ -> let properties = if shouldDeploy then [ ("DeployOnBuild", "true"); ("PublishProfile","LocalTestServer.pubxml") ] else [] !! @"src/**/*.csproj" -- testProjects |> MSBuildReleaseExt null properties "Build" |> Log "Build-Output: " ) // Other targets and dependencies omitted.
、:ここ
は、このアプローチを示すbuild.fsx
からのコードの一部でありますウェブサイト は、LocalTestServer.pubxml
で定義されている公開プロファイルに従って公開されます。
関連する問題
- 1. dotCoverを使用したコードカバレッジ - FAKE F#MAKE
- 2. CreateCSharpAssemblyInfoを使用するとエラーが発生する:FAKE- F#MAKE
- 3. FAKE F#MAKEを使用したXMLファイルの更新
- 4. コード品質メトリックを挿入する方法 - FAKE F#MAKE
- 5. $(SolutionDir)サブプロジェクトのビルド時にMSBuildプロパティが正しくない - FAKE F#MAKE
- 6. FAKE(F#Make) - 特定のビルドターゲットのコンパイラ警告を無視できますか?
- 7. xmlファイルから属性値を読み取る方法 - FAKE F#MAKE
- 8. 与えられたファイルのテキストを置き換えます - FAKE F#MAKE
- 9. f#プロジェクト公開中のドットネットコンパイラエラー
- 10. RegexReplaceInFilesWithEncodingを使用してファイル内のChanginテキストがエラーを返しました - FAKE F#MAKE
- 11. SharePointのデモ公開ウェブサイト
- 12. .Net Coreウェブサイト公開Microsoft.WebSite.Publishing.targets
- 13. Trouble Publishing C#Windowsフォームアプリケーションをウェブサイトに公開
- 14. ブログをウェブサイトのトップページに公開する
- 15. Roslynがウェブサイトに公開しない
- 16. 公開ウェブサイトへのリンクをリダイレクト
- 17. Rails:ウェブサイトを公開する方法
- 18. 公開Javascriptのウェブサイトを作成する
- 19. 公開ウェブサイトのGitHub API認証
- 20. 統合FxCopのは、エラーを与える:FAKE F#が、私はFAKEでFxCopのを使用しています
- 21. 私のウェブサイトにセキュリティ上の欠陥を公開する方法
- 22. ウェブサイトの公開中にファイル参照を変更する
- 23. 私のウェブサイトにRubyファイルを公開し実装する方法
- 24. Googleドライブ公開ドキュメントのドキュメントテキストを取得し、ウェブサイトに表示
- 25. 私は、Visual Studio 2013年にウェブサイトを公開しようエラー
- 26. 排他的チェックアウトを有効にしてTFSを使用する場合、F#-Make(FAKE)を使用してAssemblyInfo.vbをオーバーライドする方法
- 27. KubernetesのCockroachDBを公開IPに公開
- 28. 公開グラフアクションをグループに公開する
- 29. Androidクライアントアプリのデベロッパーに関係なく、一部のウェブサイト用の公開/非公開APIを構築する方法
- 30. ウェブサイトの公開時にキャプチャ画像が表示されない
私はそれを行うための組み込みのタスクがあるとは思わないが、確かにそれを行うことができます(F#でプログラムできるものと同じように)。どのようにサイトを公開したいですか? FTPなどを使用していますか? –
こんにちはトーマス、申し訳ありませんが、具体的には、一般的なものではなく、Visual Studioの意味で「公開する」という意味です。それもあなたが意味するものですか?そうであれば、ディスクに公開するだけで済みますが、web.configの変換を実行し、不要なファイルなどを削除します。 – mattcole
私は理解しています。私はインターネット上を見回し、答えにいくつかのアイデアを投稿しました。 –