mirror of
				https://github.com/easingthemes/ssh-deploy.git
				synced 2025-10-30 23:30:09 +08:00 
			
		
		
		
	Merge pull request #32 from peterkracik/master
Exclude folder parameter
This commit is contained in:
		
						commit
						a27b8667de
					
				| @ -49,6 +49,10 @@ The source directory, path relative to `$GITHUB_WORKSPACE` root, eg: `dist/` | |||||||
| 
 | 
 | ||||||
| The target directory | The target directory | ||||||
| 
 | 
 | ||||||
|  | ##### 8. `EXCLUDE` (optional, default '') | ||||||
|  | 
 | ||||||
|  | path to exclude separated by `,`, ie: `/dist/, /node_modules/` | ||||||
|  | 
 | ||||||
| # Usage | # Usage | ||||||
| 
 | 
 | ||||||
| !!! Please use latest version, Readme file is just an example, eg: ssh-deploy@v2.1.5 | !!! Please use latest version, Readme file is just an example, eg: ssh-deploy@v2.1.5 | ||||||
| @ -63,6 +67,7 @@ The target directory | |||||||
|       REMOTE_HOST: ${{ secrets.REMOTE_HOST }} |       REMOTE_HOST: ${{ secrets.REMOTE_HOST }} | ||||||
|       REMOTE_USER: ${{ secrets.REMOTE_USER }} |       REMOTE_USER: ${{ secrets.REMOTE_USER }} | ||||||
|       TARGET: ${{ secrets.REMOTE_TARGET }} |       TARGET: ${{ secrets.REMOTE_TARGET }} | ||||||
|  |       EXCLUDE: "/dist/, /node_modules/" | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| # Example usage in workflow | # Example usage in workflow | ||||||
| @ -96,6 +101,7 @@ jobs: | |||||||
|           REMOTE_HOST: ${{ secrets.REMOTE_HOST }} |           REMOTE_HOST: ${{ secrets.REMOTE_HOST }} | ||||||
|           REMOTE_USER: ${{ secrets.REMOTE_USER }} |           REMOTE_USER: ${{ secrets.REMOTE_USER }} | ||||||
|           TARGET: ${{ secrets.REMOTE_TARGET }} |           TARGET: ${{ secrets.REMOTE_TARGET }} | ||||||
|  |           EXCLUDE: "/dist/, /node_modules/" | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Disclaimer | ## Disclaimer | ||||||
|  | |||||||
| @ -27,6 +27,10 @@ inputs: | |||||||
|     description: "Arguments to pass to rsync" |     description: "Arguments to pass to rsync" | ||||||
|     required: false |     required: false | ||||||
|     default: "-rltgoDzvO" |     default: "-rltgoDzvO" | ||||||
|  |   EXCLUDE:  | ||||||
|  |     description: "An array of folder to exclude" | ||||||
|  |     required: false | ||||||
|  |     default: "" | ||||||
| outputs: | outputs: | ||||||
|   status: |   status: | ||||||
|     description: "Status" |     description: "Status" | ||||||
|  | |||||||
							
								
								
									
										16
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @ -556,7 +556,7 @@ module.exports = require("path"); | |||||||
| /***/ 659: | /***/ 659: | ||||||
| /***/ (function(module) { | /***/ (function(module) { | ||||||
| 
 | 
 | ||||||
| const inputNames = ['REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT', 'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME', 'SOURCE', 'TARGET', 'ARGS']; | const inputNames = ['REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT', 'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME', 'SOURCE', 'TARGET', 'ARGS', 'EXCLUDE']; | ||||||
| 
 | 
 | ||||||
| const inputs = { | const inputs = { | ||||||
|   GITHUB_WORKSPACE: process.env.GITHUB_WORKSPACE |   GITHUB_WORKSPACE: process.env.GITHUB_WORKSPACE | ||||||
| @ -589,7 +589,7 @@ const { addSshKey } = __webpack_require__(613); | |||||||
| const { | const { | ||||||
|   REMOTE_HOST, REMOTE_USER, |   REMOTE_HOST, REMOTE_USER, | ||||||
|   REMOTE_PORT, SSH_PRIVATE_KEY, DEPLOY_KEY_NAME, |   REMOTE_PORT, SSH_PRIVATE_KEY, DEPLOY_KEY_NAME, | ||||||
|   SOURCE, TARGET, ARGS, |   SOURCE, TARGET, ARGS, EXCLUDE, | ||||||
|   GITHUB_WORKSPACE |   GITHUB_WORKSPACE | ||||||
| } = __webpack_require__(659); | } = __webpack_require__(659); | ||||||
| 
 | 
 | ||||||
| @ -602,13 +602,14 @@ const defaultOptions = { | |||||||
| console.log('[general] GITHUB_WORKSPACE: ', GITHUB_WORKSPACE); | console.log('[general] GITHUB_WORKSPACE: ', GITHUB_WORKSPACE); | ||||||
| 
 | 
 | ||||||
| const sshDeploy = (() => { | const sshDeploy = (() => { | ||||||
|   const rsync = ({ privateKey, port, src, dest, args }) => { |   const rsync = ({ privateKey, port, src, dest, args, exclude }) => { | ||||||
|     console.log(`[Rsync] Starting Rsync Action: ${src} to ${dest}`); |     console.log(`[Rsync] Starting Rsync Action: ${src} to ${dest}`); | ||||||
|  |     if (exclude) console.log(`[Rsync] exluding folders ${exclude}`); | ||||||
| 
 | 
 | ||||||
|     try { |     try { | ||||||
|       // RSYNC COMMAND
 |       // RSYNC COMMAND
 | ||||||
|       nodeRsync({ |       nodeRsync({ | ||||||
|         src, dest, args, privateKey, port, ...defaultOptions |         src, dest, args, privateKey, port, exclude, ...defaultOptions | ||||||
|       }, (error, stdout, stderr, cmd) => { |       }, (error, stdout, stderr, cmd) => { | ||||||
|         if (error) { |         if (error) { | ||||||
|           console.error('⚠️ [Rsync] error: ', error.message); |           console.error('⚠️ [Rsync] error: ', error.message); | ||||||
| @ -626,12 +627,12 @@ const sshDeploy = (() => { | |||||||
|     } |     } | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   const init = ({ src, dest, args, host = 'localhost', port, username, privateKeyContent }) => { |   const init = ({ src, dest, args, host = 'localhost', port, username, privateKeyContent, exclude = [] }) => { | ||||||
|     validateRsync(() => { |     validateRsync(() => { | ||||||
|       const privateKey = addSshKey(privateKeyContent, DEPLOY_KEY_NAME || 'deploy_key'); |       const privateKey = addSshKey(privateKeyContent, DEPLOY_KEY_NAME || 'deploy_key'); | ||||||
|       const remoteDest = `${username}@${host}:${dest}`; |       const remoteDest = `${username}@${host}:${dest}`; | ||||||
| 
 | 
 | ||||||
|       rsync({ privateKey, port, src, dest: remoteDest, args }); |       rsync({ privateKey, port, src, dest: remoteDest, args, exclude }); | ||||||
|     }); |     }); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
| @ -650,7 +651,8 @@ const run = () => { | |||||||
|     host: REMOTE_HOST, |     host: REMOTE_HOST, | ||||||
|     port: REMOTE_PORT || '22', |     port: REMOTE_PORT || '22', | ||||||
|     username: REMOTE_USER, |     username: REMOTE_USER, | ||||||
|     privateKeyContent: SSH_PRIVATE_KEY |     privateKeyContent: SSH_PRIVATE_KEY, | ||||||
|  |     exclude: (EXCLUDE || '').split(',').map((item) => item.trim()) // split by comma and trim whitespace
 | ||||||
|   }); |   }); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										2064
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2064
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										14
									
								
								src/index.js
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/index.js
									
									
									
									
									
								
							| @ -7,7 +7,7 @@ const { addSshKey } = require('./sshKey'); | |||||||
| const { | const { | ||||||
|   REMOTE_HOST, REMOTE_USER, |   REMOTE_HOST, REMOTE_USER, | ||||||
|   REMOTE_PORT, SSH_PRIVATE_KEY, DEPLOY_KEY_NAME, |   REMOTE_PORT, SSH_PRIVATE_KEY, DEPLOY_KEY_NAME, | ||||||
|   SOURCE, TARGET, ARGS, |   SOURCE, TARGET, ARGS, EXCLUDE, | ||||||
|   GITHUB_WORKSPACE |   GITHUB_WORKSPACE | ||||||
| } = require('./inputs'); | } = require('./inputs'); | ||||||
| 
 | 
 | ||||||
| @ -20,13 +20,14 @@ const defaultOptions = { | |||||||
| console.log('[general] GITHUB_WORKSPACE: ', GITHUB_WORKSPACE); | console.log('[general] GITHUB_WORKSPACE: ', GITHUB_WORKSPACE); | ||||||
| 
 | 
 | ||||||
| const sshDeploy = (() => { | const sshDeploy = (() => { | ||||||
|   const rsync = ({ privateKey, port, src, dest, args }) => { |   const rsync = ({ privateKey, port, src, dest, args, exclude }) => { | ||||||
|     console.log(`[Rsync] Starting Rsync Action: ${src} to ${dest}`); |     console.log(`[Rsync] Starting Rsync Action: ${src} to ${dest}`); | ||||||
|  |     if (exclude) console.log(`[Rsync] exluding folders ${exclude}`); | ||||||
| 
 | 
 | ||||||
|     try { |     try { | ||||||
|       // RSYNC COMMAND
 |       // RSYNC COMMAND
 | ||||||
|       nodeRsync({ |       nodeRsync({ | ||||||
|         src, dest, args, privateKey, port, ...defaultOptions |         src, dest, args, privateKey, port, exclude, ...defaultOptions | ||||||
|       }, (error, stdout, stderr, cmd) => { |       }, (error, stdout, stderr, cmd) => { | ||||||
|         if (error) { |         if (error) { | ||||||
|           console.error('⚠️ [Rsync] error: ', error.message); |           console.error('⚠️ [Rsync] error: ', error.message); | ||||||
| @ -44,12 +45,12 @@ const sshDeploy = (() => { | |||||||
|     } |     } | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   const init = ({ src, dest, args, host = 'localhost', port, username, privateKeyContent }) => { |   const init = ({ src, dest, args, host = 'localhost', port, username, privateKeyContent, exclude = [] }) => { | ||||||
|     validateRsync(() => { |     validateRsync(() => { | ||||||
|       const privateKey = addSshKey(privateKeyContent, DEPLOY_KEY_NAME || 'deploy_key'); |       const privateKey = addSshKey(privateKeyContent, DEPLOY_KEY_NAME || 'deploy_key'); | ||||||
|       const remoteDest = `${username}@${host}:${dest}`; |       const remoteDest = `${username}@${host}:${dest}`; | ||||||
| 
 | 
 | ||||||
|       rsync({ privateKey, port, src, dest: remoteDest, args }); |       rsync({ privateKey, port, src, dest: remoteDest, args, exclude }); | ||||||
|     }); |     }); | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
| @ -68,7 +69,8 @@ const run = () => { | |||||||
|     host: REMOTE_HOST, |     host: REMOTE_HOST, | ||||||
|     port: REMOTE_PORT || '22', |     port: REMOTE_PORT || '22', | ||||||
|     username: REMOTE_USER, |     username: REMOTE_USER, | ||||||
|     privateKeyContent: SSH_PRIVATE_KEY |     privateKeyContent: SSH_PRIVATE_KEY, | ||||||
|  |     exclude: (EXCLUDE || '').split(',').map((item) => item.trim()) // split by comma and trim whitespace
 | ||||||
|   }); |   }); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| const inputNames = ['REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT', 'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME', 'SOURCE', 'TARGET', 'ARGS']; | const inputNames = ['REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT', 'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME', 'SOURCE', 'TARGET', 'ARGS', 'EXCLUDE']; | ||||||
| 
 | 
 | ||||||
| const inputs = { | const inputs = { | ||||||
|   GITHUB_WORKSPACE: process.env.GITHUB_WORKSPACE |   GITHUB_WORKSPACE: process.env.GITHUB_WORKSPACE | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Dragan Filipović
						Dragan Filipović