This GitHub Action automates the process of triggering an Devops-Deploy (formerly UrbanCode Deploy) application process request based on the provided inputs. It streamlines the deployment workflow by integrating Devops-Deploy directly into your GitHub repository.
application
(required): The name of the application in Devops-Deploy.applicationProcess
(required): The name of the application process in Devops-Deploy.environment
(required): The name of the target environment in Devops-Deploy.onlyChanged
(optional): A boolean value indicating if only changed artifacts should be deployed. Default isfalse
.properties
(optional): Properties for the application process as a JSON string. Default is an empty string.propertiesfile
(optional): description : Properties file path in the local ore remote repository for Application process properties.snapshot
(optional): Snapshot name/Id. Snapshot is mutually exclusive of versions parameter. Snapshot takes precedence over versions when both have input valuesversions
(required): Versions along with components as a JSON string. Each version should have a "component" and "version" key.hostname
(required): The hostname of the Devops-Deploy instance.port
(optional): The port number of the Devops-Deploy instance. Default is8443
.username
(required): Your Devops-Deploy username.password
(Either this or authtoken is required): Your Devops-Deploy password. This input is marked as a secret.authToken
(Either this or password is required): Your Devops-Deploy auth token. This input is marked as a secret. username is not needed when authToken is provided, if provided it will be ignored.disableSSLVerification
(optional): A boolean value indicating whether to skip SSL certificate validation when making HTTPS requests. Default isfalse
.
name: Deploy to Devops-Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Devops-Deploy
uses: HCL-TECH-SOFTWARE/[email protected]
with:
application: 'MyApp'
applicationProcess: 'DeployProcess'
environment: 'Production'
onlyChanged: true
properties: '{"key1": "value1", "key2": "value2"}'
versions: '[{"component": "Component1", "version": "1.0"}, {"component": "Component2", "version": "2.0"}]'
hostname: ${{ secrets.UCD_HOSTNAME }}
username: ${{ secrets.UCD_USERNAME }}
password: ${{ secrets.UCD_PASSWORD }}
disableSSLVerification: true
name: Deploy to Devops-Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Devops-Deploy
uses: HCL-TECH-SOFTWARE/[email protected]
with:
application: 'MyApp'
applicationProcess: 'DeployProcess'
environment: 'Production'
onlyChanged: true
properties: '{"key1": "value1", "key2": "value2"}'
snapshot: 'snapshot-1'
hostname: ${{ secrets.UCD_HOSTNAME }}
username: ${{ secrets.UCD_USERNAME }}
password: ${{ secrets.UCD_PASSWORD }}
disableSSLVerification: true
name: Deploy to Devops-deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to Devops-Deploy
uses: HCL-TECH-SOFTWARE/[email protected]
with:
application: 'MyApp'
applicationProcess: 'DeployProcess'
environment: 'Production'
onlyChanged: true
properties: '{"key1": "value1", "key2": "value2"}'
versions: '[{"component": "Component1", "version": "1.0"}, {"component": "Component2", "version": "2.0"}]'
hostname: ${{ secrets.UCD_HOSTNAME }}
authToken: ${{ secrets.UCD_AUTHTOKEN }}
disableSSLVerification: true
on:
workflow_dispatch:
jobs:
hello_world_job:
runs-on: self-hosted
environment: DEV
name: A job to deploy application
steps:
- name: Fetch properties file
id: download_ucd_properties_file
uses: actions/checkout@v4
with:
repository: bharathk-github/Testing
sparse-checkout: |
ucdproperties.prop
sparse-checkout-cone-mode: false
- name: Deploy application
id: Deploy_MYAPP
uses: HCL-TECH-SOFTWARE/[email protected]
with:
application: 'MYAPP'
applicationProcess: 'DEPLOY-MYAPP'
environment: 'DEV'
propertiesfile: 'ucdproperties.prop'
versions: '[{"version": "BUILD-DEV-JCL", "component": "MYCOMP"}]'
hostname: '${{ secrets.UCD_HOST }}'
port: '8443'
username: '${{ secrets.UCD_USERNAME }}'
password: '${{ secrets.UCD_PASSWORD }}'
authToken: '${{ secrets.UCD_AUTHTOKEN }}'
disableSSLVerification: 'true'
on:
workflow_dispatch:
jobs:
hello_world_job:
runs-on: self-hosted
environment: DEV
name: A job to deploy application
steps:
- name: Deploy application
id: Deploy_MYAPP
uses: HCL-TECH-SOFTWARE/[email protected]
with:
application: 'MYAPP'
applicationProcess: 'DEPLOY-MYAPP'
environment: 'DEV'
properties: '{"prop1":"${{ vars.PROP1 }}", "prop2":"${{ vars.PROP2 }}"}'
versions: '[{"version": "BUILD-DEV-JCL", "component": "MYCOMP"}]'
hostname: '${{ secrets.UCD_HOST }}'
port: '8443'
username: '${{ secrets.UCD_USERNAME }}'
password: '${{ secrets.UCD_PASSWORD }}'
authToken: '${{ secrets.UCD_AUTHTOKEN }}'
disableSSLVerification: 'true'