mirror of
				https://github.com/easingthemes/ssh-deploy.git
				synced 2025-10-30 23:30:09 +08:00 
			
		
		
		
	path fix
This commit is contained in:
		
							parent
							
								
									ce6f4a562e
								
							
						
					
					
						commit
						4e7456f7be
					
				
							
								
								
									
										2
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -24,7 +24,7 @@ const run = async () => { | ||||
|   } | ||||
|   // Check Script before
 | ||||
|   if (scriptBefore) { | ||||
|     await remoteCmdBefore(scriptBefore); | ||||
|     await remoteCmdBefore(scriptBefore, privateKeyPath); | ||||
|   } | ||||
|   /* eslint-disable object-property-newline */ | ||||
|   await sshDeploy({ | ||||
| @ -33,7 +33,7 @@ const run = async () => { | ||||
|   }); | ||||
|   // Check script after
 | ||||
|   if (scriptAfter) { | ||||
|     await remoteCmdAfter(scriptAfter); | ||||
|     await remoteCmdAfter(scriptAfter, privateKeyPath); | ||||
|   } | ||||
| }; | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,5 @@ | ||||
| const { exec } = require('child_process'); | ||||
| 
 | ||||
| const { privateKey, sshServer, githubWorkspace } = require('./inputs'); | ||||
| const { sshServer, githubWorkspace } = require('./inputs'); | ||||
| const { writeToFile } = require('./helpers'); | ||||
| 
 | ||||
| const handleError = (message, isRequired, callback) => { | ||||
| @ -11,27 +10,31 @@ const handleError = (message, isRequired, callback) => { | ||||
|   } | ||||
| }; | ||||
| 
 | ||||
| const remoteCmd = async (content, label, isRequired) => new Promise((resolve, reject) => { | ||||
| // eslint-disable-next-line max-len
 | ||||
| const remoteCmd = async (content, privateKeyPath, isRequired, label) => new Promise((resolve, reject) => { | ||||
|   const filename = `local_ssh_script-${label}.sh`; | ||||
|   try { | ||||
|     writeToFile({ dir: githubWorkspace, filename, content }); | ||||
|     console.log(`Executing remote script: ssh -i ${privateKey} ${sshServer}`, content); | ||||
|     exec(`DEBIAN_FRONTEND=noninteractive ssh -i ${privateKey} ${sshServer} 'RSYNC_STDOUT=${process.env.RSYNC_STDOUT} bash -s' < ${filename}`, (err, data, stderr) => { | ||||
|       if (err) { | ||||
|         const message = `⚠️ [CMD] Remote script failed: ${err.message}`; | ||||
|         console.warn(`${message} \n`, data, stderr); | ||||
|         handleError(message, isRequired, reject); | ||||
|       } else { | ||||
|         console.log('✅ [CMD] Remote script executed. \n', data, stderr); | ||||
|         resolve(data); | ||||
|     console.log(`Executing remote script: ssh -i ${privateKeyPath} ${sshServer}`, content); | ||||
|     exec( | ||||
|       `DEBIAN_FRONTEND=noninteractive ssh -i ${privateKeyPath} ${sshServer} 'RSYNC_STDOUT=${process.env.RSYNC_STDOUT} bash -s' < ${filename}`, | ||||
|       (err, data, stderr) => { | ||||
|         if (err) { | ||||
|           const message = `⚠️ [CMD] Remote script failed: ${err.message}`; | ||||
|           console.warn(`${message} \n`, data, stderr); | ||||
|           handleError(message, isRequired, reject); | ||||
|         } else { | ||||
|           console.log('✅ [CMD] Remote script executed. \n', data, stderr); | ||||
|           resolve(data); | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|     ); | ||||
|   } catch (err) { | ||||
|     handleError(err.message, isRequired, reject); | ||||
|   } | ||||
| }); | ||||
| 
 | ||||
| module.exports = { | ||||
|   remoteCmdBefore: async (cmd, isRequired) => remoteCmd(cmd, 'before', isRequired), | ||||
|   remoteCmdAfter: async (cmd, isRequired) => remoteCmd(cmd, 'after', isRequired) | ||||
|   remoteCmdBefore: async (cmd, privateKeyPath, isRequired) => remoteCmd(cmd, privateKeyPath, isRequired, 'before'), | ||||
|   remoteCmdAfter: async (cmd, privateKeyPath, isRequired) => remoteCmd(cmd, privateKeyPath, isRequired, 'after') | ||||
| }; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Dragan Filipovic
						Dragan Filipovic