Ist es möglich, eine Website zu veröffentlichen, anstatt sie als Teil eines FAKE-Skripts zu erstellen?Website in FAKE veröffentlichen (F # Marke)
Antwort
Ich habe keine Erfahrung damit, aber es sieht so aus, als gäbe es zwei Möglichkeiten, den Web-Deployment-Prozess von Hand auszuführen. Eins (sieht älter aus) soll MSBuild mit einem speziellen Ziel aufrufen (wie described here) und eine andere Option (sieht moderner aus) ist die Verwendung des MSDeploy-Tools (welches has a command line interface).
Beide sollten leicht von FAKE-Skript aufgerufen werden können. Hier ist ein Beispiel, das ein Kommandozeilen-Tool ruft:
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"
)
Aufruf einen MSBuild-Skript sollte wie folgt aussehen:
Target "BuildTest" (fun _ ->
"Blah.csproj"
|> MSBuildRelease "" "ResolveReferences;_CopyWebApplication"
|> ignore
)
Wie gesagt, ich habe nicht getestet (so könnte es völlig falsch liegen), aber hoffentlich kann es dich in eine nützliche Richtung weisen, bevor einige Web-Deployment- oder FAKE-Experten zu SO kommen!
Hier ist eine Möglichkeit, es zu tun. (Eigentlich ist es nicht genau die Frage beantworten, weil Verlag nicht ohne Gebäude durchgeführt wird.)
- Entscheiden Sie, welche Ziele müssen die Website veröffentlichen.
- Machen Sie sie abhängig von der "Build" -Ziel.
- Lassen Sie das Ziel "Build" die Website mithilfe eines Veröffentlichungsprofils publizieren, falls eine Veröffentlichung erforderlich ist.
Hier ist ein Stück Code aus build.fsx
diesen Ansatz darstellt:
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.
Mit diesem Code an Ort und Stelle, wenn eines der Ziele "Test", "AcceptanceTest", "Deploy" ausgeführt wird wird die Website gemäß dem in LocalTestServer.pubxml
definierten Veröffentlichungsprofil veröffentlicht.
- 1. Website veröffentlichen leeren Ordner
- 2. Azure Portal Website veröffentlichen
- 3. eine Website veröffentlichen msbuild
- 4. Fake ein Cookie, um eine Website in Python zu scratzen
- 5. Bereitstellen/Veröffentlichen einer ASP.NET-Website?
- 6. Veröffentlichen einer Website mit Msbuild
- 7. Muss Website Android-App veröffentlichen?
- 8. Veröffentlichen einer Website im Internet
- 9. Pragma Marke in schnellen
- 10. Wie Automodelle in Marke
- 11. Tasksequenz parallel in Fake
- 12. Erkennungsgerät Marke
- 13. "Fake" DirectShow Videoaufnahmegerät
- 14. Website wird nach dem Veröffentlichen nicht aktualisiert.
- 15. VS 2008 - Website veröffentlichen - App_Data ausschließen
- 16. So veröffentlichen Sie eine Website ohne Veröffentlichungsprofil
- 17. Fake-Klasse für Entwicklungsumgebung
- 18. Fake Navigator Eigenschaften
- 19. OpenCL fake bitfield
- 20. Marke Assets arbeiten nicht
- 21. Text neben der Marke
- 22. Fake-HTTP-Get-Requests
- 23. Clickonce veröffentlichen - „Die Datei‚default.htm‘existiert bereits in dieser Website“
- 24. Ausschließen von Dateien von Website veröffentlichen in Visual Studio
- 25. Include-Dateien in Website veröffentlichen von Visual Studio
- 26. Make sieht nicht Regel mit% -Marke
- 27. Kann ich einen Parameter an ein F # FAKE-Build-Skript übergeben?
- 28. F # Endlosschleifen in F #
- 29. IE9 Rendering Links-Rechts-Marke
- 30. RFID-Marke: ACS; Modell: ACR122
Ich glaube nicht, dass es eine eingebaute Aufgabe dafür gibt, aber Sie können das sicherlich tun (genau wie alles, was Sie in F # programmieren können). Wie möchten Sie die Site veröffentlichen? Mit FTP oder etwas anderem? –
Hallo Tomas, Entschuldigung speziell ich meine "publizieren" im Visual Studio Sinne eher als ein Generic es irgendwo veröffentlichen. Hast du das auch gemeint? Wenn ja, dann muss es nur auf der Festplatte veröffentlicht werden, aber es läuft die web.config Transformationen, entfernt unnötige Dateien usw. – mattcole
Ich sehe, ja das macht Sinn. Ich schaute mich im Internet um und postete einige Ideen in einer Antwort. –