1- name : Release
1+ name : Release
22
33on :
44 release :
@@ -49,36 +49,25 @@ jobs:
4949 - name : Publish API
5050 if : ${{ github.event.release.prerelease == false }}
5151 run : dotnet publish "MessagingService\MessagingService.csproj" --configuration Release --output publishOutput -r win-x64 --self-contained
52+
53+ - name : Create Zip package 🐙
54+ id : package
55+ uses : OctopusDeploy/create-zip-package-action@v3
56+ with :
57+ package_id : MessagingService
58+ version : ${{ steps.get_version.outputs.VERSION }}
59+ base_path : /home/runner/work/Messaging/Messaging/publishOutput
60+ files : " **/*"
61+ output_folder : /home/runner/work/Messaging/Messaging
5262
53- - name : Install Octopus CLI
54- if : ${{ github.event.release.prerelease == false }}
55- run : |
56- sudo apt update && sudo apt install --no-install-recommends gnupg curl ca-certificates apt-transport-https && \
57- curl -sSfL https://apt.octopus.com/public.key | sudo apt-key add - && \
58- sudo sh -c "echo deb https://apt.octopus.com/ stable main > /etc/apt/sources.list.d/octopus.com.list" && \
59- sudo apt update && sudo apt install octopuscli
60-
61- - name : Pack Files for Octopus
62- if : ${{ github.event.release.prerelease == false }}
63- run : >-
64- octo pack
65- --outFolder /home/runner/work/Messaging/Messaging
66- --basePath /home/runner/work/Messaging/Messaging/publishOutput
67- --id MessagingService
68- --version ${{ steps.get_version.outputs.VERSION }}
69- --format zip
70- --verbose
71- --logLevel=verbose
72-
73- - name : Push Package to Octopus
74- if : ${{ github.event.release.prerelease == false }}
75- run : >-
76- octo push
77- --server ${{ secrets.OCTOPUS_URL }}
78- --apiKey ${{ secrets.OCTOPUS_APIKEY }}
79- --package /home/runner/work/Messaging/Messaging/MessagingService.${{ steps.get_version.outputs.VERSION }}.zip
80- --overwrite-mode IgnoreIfExists
81-
63+ - name : Push a package to Octopus Deploy 🐙
64+ uses : OctopusDeploy/push-package-action@v3
65+ with :
66+ api_key : ${{ secrets.OCTOPUS_APIKEY }}
67+ server : ${{ secrets.OCTOPUS_URL }}
68+ space : ${{ secrets.OCTOPUS_SPACE }}
69+ packages : ${{ steps.package.outputs.package_file_path }}
70+
8271 - name : Get Release
8372 if : ${{ github.event.release.prerelease == false }}
8473 id : getrelease
@@ -95,20 +84,42 @@ jobs:
9584 with :
9685 json : ${{ steps.getrelease.outputs.data }}
9786 releasenote : " body"
98-
99- - name : Create & Deploy Release in Octopus
100- if : ${{ github.event.release.prerelease == false }}
101- run : >-
102- octo create-release
103- --server ${{ secrets.OCTOPUS_URL }}
104- --apiKey ${{ secrets.OCTOPUS_APIKEY }}
105- --project "Messaging Service"
106- --version ${{ steps.get_version.outputs.VERSION }}
107- --channel Default
108- --deployTo Staging
109- --waitfordeployment
110- --deploymenttimeout 00:05:00
111- --releasenotes "${{ steps.buildreleasenotes.outputs.releasenote }}"
87+
88+ - name : Create a release in Octopus Deploy 🐙
89+ uses : OctopusDeploy/create-release-action@v3
90+ id : " create_release"
91+ with :
92+ api_key : ${{ secrets.OCTOPUS_APIKEY }}
93+ server : ${{ secrets.OCTOPUS_URL }}
94+ space : ${{ secrets.OCTOPUS_SPACE }}
95+ project : " Messaging Service"
96+ package_version : ${{ steps.get_version.outputs.VERSION }}
97+ release_notes : ${{ steps.buildreleasenotes.outputs.releasenote }}
98+ release_number : ${{ steps.get_version.outputs.VERSION }}
99+ ignore_existing : true
100+ channel : " Default"
101+
102+ - name : Deploy a release in Octopus Deploy 🐙
103+ uses : OctopusDeploy/deploy-release-action@v3
104+ id : " deploy_release"
105+ with :
106+ api_key : ${{ secrets.OCTOPUS_APIKEY }}
107+ server : ${{ secrets.OCTOPUS_URL }}
108+ space : ${{ secrets.OCTOPUS_SPACE }}
109+ project : ' Messaging Service'
110+ release_number : ${{steps.create_release.outputs.release_number}}
111+ environments : |
112+ Staging
113+
114+ - name : Await task in Octopus Deploy 🐙
115+ uses : OctopusDeploy/await-task-action@v3
116+ with :
117+ api_key : ${{ secrets.OCTOPUS_APIKEY }}
118+ server : ${{ secrets.OCTOPUS_URL }}
119+ space : ${{ secrets.OCTOPUS_SPACE }}
120+ timeout_after : 300
121+ polling_interval : 30
122+ server_task_id : ${{ fromJson(steps.deploy_release.outputs.server_tasks)[0].serverTaskId }}
112123
113124 - name : Build and Publish Nuget Packages
114125 if : ${{ github.event.release.prerelease == false }}
0 commit comments