mirror of
				https://github.com/JuliusFreudenberger/portainer-stack-git-redeploy-action.git
				synced 2025-10-31 18:23:47 +01: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
		Add a link
		
	
		Reference in a new issue