mirror of
https://github.com/JuliusFreudenberger/portainer-stack-git-redeploy-action.git
synced 2025-04-18 12:38:02 +02:00
Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
0544d68626 | |||
80a4523333 | |||
63d9c75bc2 |
4 changed files with 27 additions and 5 deletions
|
@ -21,6 +21,10 @@ This is a fork of [wirgen/portainer-stack-redeploy-action](https://github.com/wi
|
|||
|
||||
ID of endpoint (environment). Required if your stack is not in local environment
|
||||
|
||||
### `repositoryAuthentication`
|
||||
|
||||
Use stored credentials to pull docker-compose.yaml from git repository. When credentials are stored, but this is not set to `true`, the action will fail
|
||||
|
||||
### `environment`
|
||||
|
||||
Environment variables to set on the stack. When omitted, all existing variables will be cleared from the stack. Must be input as a JSON String; one array of objects each with the keys `name` and `value`
|
||||
|
|
|
@ -16,12 +16,16 @@ inputs:
|
|||
description: 'Endpoint ID'
|
||||
required: false
|
||||
default: ''
|
||||
repositoryAuthentication:
|
||||
description: 'Use stored credentials to pull docker-compose.yaml from git repository'
|
||||
required: false
|
||||
default: false
|
||||
environment:
|
||||
description: 'Environment variables'
|
||||
required: false
|
||||
|
||||
runs:
|
||||
using: 'node16'
|
||||
using: 'node20'
|
||||
main: 'dist/index.js'
|
||||
|
||||
branding:
|
||||
|
|
11
dist/index.js
vendored
11
dist/index.js
vendored
|
@ -2819,10 +2819,13 @@ var __webpack_exports__ = {};
|
|||
(() => {
|
||||
const core = __nccwpck_require__(186)
|
||||
|
||||
console.log('Preparing stack deployment')
|
||||
|
||||
let portainerUrl = core.getInput("portainerUrl")
|
||||
const accessToken = core.getInput("accessToken")
|
||||
const stackId = parseInt(core.getInput("stackId"))
|
||||
const endpointId = parseInt(core.getInput("endpointId"))
|
||||
const repositoryAuthentication = core.getInput("repositoryAuthentication")
|
||||
const environmentVariables = core.getInput("environment")
|
||||
|
||||
if (isNaN(stackId)) {
|
||||
|
@ -2853,14 +2856,17 @@ const postDataObject = {
|
|||
pullImage: true,
|
||||
}
|
||||
|
||||
console.dir(environmentVariables)
|
||||
if (repositoryAuthentication === true || repositoryAuthentication === 'true') {
|
||||
postDataObject.repositoryAuthentication = true
|
||||
}
|
||||
|
||||
if (environmentVariables !== undefined && environmentVariables !== "") {
|
||||
postDataObject.env = JSON.parse(environmentVariables)
|
||||
}
|
||||
|
||||
const postData = JSON.stringify(postDataObject)
|
||||
|
||||
console.dir(postData)
|
||||
console.log(`Deploying stack ${stackId} on portainer host ${portainerUrl} ${postDataObject.env ? 'With environment variables ' + JSON.stringify(postDataObject.env) : 'clearing all environment variables.'}`)
|
||||
|
||||
const req = client.request(`${portainerUrl}/api/stacks/${stackId}/git/redeploy` + (isNaN(endpointId) ? "" : `?endpointId=${endpointId}`), {
|
||||
method: "PUT",
|
||||
|
@ -2874,6 +2880,7 @@ const req = client.request(`${portainerUrl}/api/stacks/${stackId}/git/redeploy`
|
|||
core.setFailed(res.statusMessage)
|
||||
process.exit(2)
|
||||
}
|
||||
console.log('Stack deployed successfully')
|
||||
})
|
||||
.on("error", (error) => {
|
||||
core.setFailed(error.message)
|
||||
|
|
11
index.js
11
index.js
|
@ -1,9 +1,12 @@
|
|||
const core = require("@actions/core")
|
||||
|
||||
console.log('Preparing stack deployment')
|
||||
|
||||
let portainerUrl = core.getInput("portainerUrl")
|
||||
const accessToken = core.getInput("accessToken")
|
||||
const stackId = parseInt(core.getInput("stackId"))
|
||||
const endpointId = parseInt(core.getInput("endpointId"))
|
||||
const repositoryAuthentication = core.getInput("repositoryAuthentication")
|
||||
const environmentVariables = core.getInput("environment")
|
||||
|
||||
if (isNaN(stackId)) {
|
||||
|
@ -34,14 +37,17 @@ const postDataObject = {
|
|||
pullImage: true,
|
||||
}
|
||||
|
||||
console.dir(environmentVariables)
|
||||
if (repositoryAuthentication === true || repositoryAuthentication === 'true') {
|
||||
postDataObject.repositoryAuthentication = true
|
||||
}
|
||||
|
||||
if (environmentVariables !== undefined && environmentVariables !== "") {
|
||||
postDataObject.env = JSON.parse(environmentVariables)
|
||||
}
|
||||
|
||||
const postData = JSON.stringify(postDataObject)
|
||||
|
||||
console.dir(postData)
|
||||
console.log(`Deploying stack ${stackId} on portainer host ${portainerUrl} ${postDataObject.env ? 'With environment variables ' + JSON.stringify(postDataObject.env) : 'clearing all environment variables.'}`)
|
||||
|
||||
const req = client.request(`${portainerUrl}/api/stacks/${stackId}/git/redeploy` + (isNaN(endpointId) ? "" : `?endpointId=${endpointId}`), {
|
||||
method: "PUT",
|
||||
|
@ -55,6 +61,7 @@ const req = client.request(`${portainerUrl}/api/stacks/${stackId}/git/redeploy`
|
|||
core.setFailed(res.statusMessage)
|
||||
process.exit(2)
|
||||
}
|
||||
console.log('Stack deployed successfully')
|
||||
})
|
||||
.on("error", (error) => {
|
||||
core.setFailed(error.message)
|
||||
|
|
Loading…
Add table
Reference in a new issue