diff --git a/.github/workflows/main-webdeploy-umbraco-curanet.yml.sample b/.github/workflows/main-webdeploy-umbraco-curanet.yml.sample new file mode 100644 index 0000000..55a4856 --- /dev/null +++ b/.github/workflows/main-webdeploy-umbraco-curanet.yml.sample @@ -0,0 +1,39 @@ +name: Build and deploy project to Curanet + +on: + release: + types: [published] + workflow_dispatch: + +env: + ProjectName: '{ProjectName}' # Name of the {ProjectName}.Web folder + SolutionName: '{SolutionName}' # Name of the {SolutionName}.csproj file + BuildPlatform: 'win-x64' + BuildConfiguration: Release + EnvironmentName: Production + +jobs: + build: + + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Create Build Directory + run: mkdir _build + + - name: Build Solution + run: | + dotnet build ./${{env.ProjectName}}.Web/${{env.SolutionName}}.csproj --nologo --self-contained --nr:false --p:DeployOnBuild=true --p:DeployDefaultTarget=WebPublish --p:WebPublishMethod=Package --p:PackageAsSingleFile=true --p:DeleteExistingFiles=True --p:SkipInvalidConfigurations=true --p:IncludeSetAclProviderOnDestination=False --p:AutoParameterizationWebConfigConnectionStrings=False --p:platform="${{env.BuildPlatform}}" --p:configuration="${{env.BuildConfiguration}}" --p:PackageLocation="../_build" --p:EnvironmentName=${{env.EnvironmentName}} + + - name: Deploy to Curanet + uses: UmbHost/umbhost-web-deploy@v1.0.1 + with: + website-name: ${{secrets.WEBSITE_NAME}} + server-computer-name: https://${{secrets.SERVER_COMPUTER_NAME}}:8172/MsDeploy.axd + server-username: ${{secrets.SERVER_USERNAME}} + server-password: ${{secrets.SERVER_PASSWORD}} + source-path: '_build' + source-fileName: '${{ env.SolutionName }}.zip' diff --git a/.github/workflows/main-webdeploy-umbraco-simply.yml.sample b/.github/workflows/main-webdeploy-umbraco-simply.yml.sample new file mode 100644 index 0000000..1c79c1b --- /dev/null +++ b/.github/workflows/main-webdeploy-umbraco-simply.yml.sample @@ -0,0 +1,39 @@ +name: Build and deploy project to Simply + +on: + release: + types: [published] + workflow_dispatch: + +env: + ProjectName: '{ProjectName}' # Name of the {ProjectName}.Web folder + SolutionName: '{ProjectName}' # Name of the {SolutionName}.csproj file + BuildPlatform: 'win-x86' + BuildConfiguration: Release + EnvironmentName: Production + +jobs: + build: + + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install dependencies + run: dotnet restore ./${{env.ProjectName}}.Web/${{env.SolutionName}}.csproj + + - name: Build + run: dotnet build ./${{env.ProjectName}}.Web/${{env.SolutionName}}.csproj --configuration ${{env.BuildConfiguration}} --no-restore + + - name: Publish + run: dotnet publish ./${{env.ProjectName}}.Web/${{env.SolutionName}}.csproj --configuration ${{env.BuildConfiguration}} --output ./publish --runtime ${{env.BuildPlatform}} --self-contained true -p:PublishTrimmed=false -p:PublishSingleFile=true + + - name: Deploy to Simply + uses: rasmusbuchholdt/simply-web-deploy@2.1.0 + with: + website-name: ${{ secrets.WEBSITE_NAME }} + server-computer-name: https://${{secrets.SERVER_COMPUTER_NAME}}:8172/MsDeploy.axd + server-username: ${{ secrets.SERVER_USERNAME }} + server-password: ${{ secrets.SERVER_PASSWORD }} diff --git a/.github/workflows/main-webdeploy-umbracocloud-curanet.yml.sample b/.github/workflows/main-webdeploy-umbracocloud-curanet.yml.sample new file mode 100644 index 0000000..a4d6022 --- /dev/null +++ b/.github/workflows/main-webdeploy-umbracocloud-curanet.yml.sample @@ -0,0 +1,39 @@ +name: Build and deploy project to Curanet + +on: + release: + types: [published] + workflow_dispatch: + +env: + ProjectName: '{ProjectName}' # Name of the {ProjectName}.Web folder + SolutionName: 'UmbracoProject' + BuildPlatform: 'win-x64' + BuildConfiguration: Release + EnvironmentName: Production + +jobs: + build: + + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Create Build Directory + run: mkdir _build + + - name: Build Solution + run: | + dotnet build ./${{env.ProjectName}}.Web/src/${{env.SolutionName}}/${{env.SolutionName}}.csproj --nologo --self-contained --nr:false --p:DeployOnBuild=true --p:DeployDefaultTarget=WebPublish --p:WebPublishMethod=Package --p:PackageAsSingleFile=true --p:DeleteExistingFiles=True --p:SkipInvalidConfigurations=true --p:IncludeSetAclProviderOnDestination=False --p:AutoParameterizationWebConfigConnectionStrings=False --p:platform="${{env.BuildPlatform}}" --p:configuration="${{env.BuildConfiguration}}" --p:PackageLocation="../../../_build" --p:EnvironmentName=${{env.EnvironmentName}} + + - name: Deploy to Curanet + uses: UmbHost/umbhost-web-deploy@v1.0.1 + with: + website-name: ${{secrets.WEBSITE_NAME}} + server-computer-name: https://${{secrets.SERVER_COMPUTER_NAME}}:8172/MsDeploy.axd + server-username: ${{secrets.SERVER_USERNAME}} + server-password: ${{secrets.SERVER_PASSWORD}} + source-path: '_build' + source-fileName: '${{ env.SolutionName }}.zip' diff --git a/.github/workflows/main-webdeploy-umbracocloud-simply.yml.sample b/.github/workflows/main-webdeploy-umbracocloud-simply.yml.sample new file mode 100644 index 0000000..6028762 --- /dev/null +++ b/.github/workflows/main-webdeploy-umbracocloud-simply.yml.sample @@ -0,0 +1,39 @@ +name: Build and deploy project to Simply + +on: + release: + types: [published] + workflow_dispatch: + +env: + ProjectName: '{ProjectName}' # Name of the {ProjectName}.Web folder + SolutionName: 'UmbracoProject' + BuildPlatform: 'win-x86' + BuildConfiguration: Release + EnvironmentName: Production + +jobs: + build: + + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install dependencies + run: dotnet restore ./${{env.ProjectName}}.Web/src/${{env.SolutionName}}/${{env.SolutionName}}.csproj + + - name: Build + run: dotnet build ./${{env.ProjectName}}.Web/src/${{env.SolutionName}}/${{env.SolutionName}}.csproj --configuration ${{env.BuildConfiguration}} --no-restore + + - name: Publish + run: dotnet publish ./${{env.ProjectName}}.Web/src/${{env.SolutionName}}/${{env.SolutionName}}.csproj --configuration ${{env.BuildConfiguration}} --output ./publish --runtime ${{env.BuildPlatform}} --self-contained true -p:PublishTrimmed=false -p:PublishSingleFile=true + + - name: Deploy to Simply + uses: rasmusbuchholdt/simply-web-deploy@2.1.0 + with: + website-name: ${{ secrets.WEBSITE_NAME }} + server-computer-name: https://${{secrets.SERVER_COMPUTER_NAME}}:8172/MsDeploy.axd + server-username: ${{ secrets.SERVER_USERNAME }} + server-password: ${{ secrets.SERVER_PASSWORD }} diff --git a/README.md b/README.md index f16ee17..e10a105 100644 --- a/README.md +++ b/README.md @@ -240,3 +240,19 @@ sure if it's on par with what we get with CodeKit.) [ICNX]: https://www.xiconeditor.com/ [US]: https://uskinned.net/ [GWFH]: https://gwfh.mranftl.com/fonts + +## Hosting on Curanet +If you wan't to host on let's say Curanet, you need to create the following secrets on the repository. +The values for these can be found in the Curanet dashboard, +`WEBSITE_NAME` +`SERVER_COMPUTER_NAME` +`SERVER_USERNAME` +`SERVER_PASSWORD` + +In the [main-webdeploy.yml](.github/workflows/main-webdeploy.yml) file you also need to modify these 2 environment variables: +`ProjectName` +`SolutionName` + +Remember to check if the path to the .csproj file, in `line 28` is matching your scenario. + +And remember to write the correct branchename in `line 5` \ No newline at end of file