-
Notifications
You must be signed in to change notification settings - Fork 3
90 lines (86 loc) · 3.2 KB
/
deploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#
# Copyright 2022-Present Sonatype Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# For details of what checks are run for PRs please refer below
# docs: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Deploy
env:
# Setting an environment variable with the value of a configuration variable, allows local builds using --env-file
NEXUS_RM_SERVERURL_PRODUCTION: ${{ vars.NEXUS_RM_SERVERURL_PRODUCTION }}
REPOSITORY_NAME_YUM_PRODUCTION: ${{ vars.REPOSITORY_NAME_YUM_PRODUCTION }}
REPOSITORY_NAME_APT_PRODUCTION: ${{ vars.REPOSITORY_NAME_APT_PRODUCTION }}
on:
workflow_dispatch:
workflow_call:
inputs:
serverurl:
type: string
default: $NEXUS_RM_SERVERURL_PRODUCTION
repository-yum:
type: string
default: $REPOSITORY_NAME_YUM_PRODUCTION
repository-apt:
type: string
default: $REPOSITORY_NAME_APT_PRODUCTION
secrets:
username-yum:
required: true
password-yum:
required: true
username-apt:
required: true
password-apt:
required: true
jobs:
deploy-installers:
runs-on: ubuntu-latest
name: Deploy Redhat Installer
steps:
- name: Download rpmFile
uses: actions/download-artifact@v4
with:
name: rpmFile
path: build/
- name: Download debFile
uses: actions/download-artifact@v4
with:
name: debFile
path: build/
- name: Download env vars
uses: actions/download-artifact@v4
with:
name: installer-vars
path: build/
- name: Set Environment Variables
uses: tw3lveparsecs/github-actions-setvars@latest
with:
envFilePath: build/installer-vars.env
- name: Deploy .rpm to a Yum repository
run: |
echo "Running deploy-rpm: ${RPM_NAME} to: ${{ inputs.serverurl }}${{ inputs.repository-yum }}"
curl --user ${{ secrets.username-yum }}:${{ secrets.password-yum }} --upload-file build/${RPM_NAME} ${{ inputs.serverurl }}${{ inputs.repository-yum }}/
res=$?
if test "$res" != "0"; then
echo "the yum curl command failed with: $res"
exit 1
fi
- name: Deploy .deb to an Apt repository
run: |
echo "Running deploy-deb: ${DEB_NAME} to: ${{ inputs.serverurl }}${{ inputs.repository-apt }}"
curl --user ${{ secrets.username-apt }}:${{ secrets.password-apt }} -H "Content-Type: multipart/form-data" --data-binary "@build/${DEB_NAME}" ${{ inputs.serverurl }}${{ inputs.repository-apt }}/
res=$?
if test "$res" != "0"; then
echo "the apt curl command failed with: $res"
exit 2
fi