Compare commits
	
		
			24 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | f57f59fba9 | ||
|   | 8a54b39459 | ||
|   | eb319b796f | ||
|   | 3c3575eb49 | ||
|   | edc8ec9139 | ||
|   | 167d6d7ff4 | ||
|   | ecd6a3623b | ||
|   | 31b514c281 | ||
|   | 5924b2b6d4 | ||
|   | a2fea1040d | ||
|   | 8535291767 | ||
|   | faff4f4218 | ||
|   | ddd9176502 | ||
|   | 326e14ddd1 | ||
|   | 0329cffdaa | ||
|   | 6df9245376 | ||
|   | 4df1959b05 | ||
|   | 1c43a9662a | ||
|   | 2949c755a2 | ||
|   | aefa39daef | ||
|   | 2305e4000a | ||
|   | c51573a06a | ||
|   | d068cd7f84 | ||
|   | 8ba3cfe760 | 
							
								
								
									
										12
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -50,3 +50,15 @@ jobs: | ||||
|         port: ${{ secrets.PORT }} | ||||
|         source: "tests/a.txt,tests/b.txt" | ||||
|         target: "test" | ||||
|  | ||||
|     - name: use insecure cipher | ||||
|       uses: ./ | ||||
|       with: | ||||
|         host: ${{ secrets.HOST }} | ||||
|         username: ${{ secrets.USERNAME }} | ||||
|         key: ${{ secrets.SSH2 }} | ||||
|         passphrase: ${{ secrets.PASSPHRASE }} | ||||
|         port: ${{ secrets.PORT }} | ||||
|         source: "tests/a.txt,tests/b.txt" | ||||
|         target: "test" | ||||
|         use_insecure_cipher: true | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| FROM appleboy/drone-scp:1.5.7-linux-amd64 | ||||
| FROM appleboy/drone-scp:1.6.3-linux-amd64 | ||||
|  | ||||
| ADD entrypoint.sh /entrypoint.sh | ||||
| COPY entrypoint.sh /entrypoint.sh | ||||
| RUN chmod +x /entrypoint.sh | ||||
| ENTRYPOINT ["/entrypoint.sh"] | ||||
|   | ||||
							
								
								
									
										40
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								README.md
									
									
									
									
									
								
							| @@ -6,9 +6,11 @@ | ||||
|  | ||||
| [](https://github.com/appleboy/scp-action/actions) | ||||
|  | ||||
| **Important**: Only support **Linux** [docker](https://www.docker.com/) container. | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| copy files and artifacts via SSH as blow. | ||||
| Copy files and artifacts via SSH: | ||||
|  | ||||
| ```yaml | ||||
| name: scp files | ||||
| @@ -33,13 +35,14 @@ jobs: | ||||
|  | ||||
| ## Input variables | ||||
|  | ||||
| see the [action.yml](./action.yml) file for more detail imformation. | ||||
| See the [action.yml](./action.yml) file for more detail information. | ||||
|  | ||||
| * host - scp remote host | ||||
| * port - scp remote port, default is `22` | ||||
| * username - scp username | ||||
| * password - scp password | ||||
| * passphrase - the passphrase is usually to encrypt the private key | ||||
| * fingerprint - fingerprint SHA256 of the host public key, default is to skip verification | ||||
| * timeout - timeout for ssh to remote host, default is `30s` | ||||
| * command_timeout - timeout for scp command, default is `10m` | ||||
| * key - content of ssh private key. ex raw content of ~/.ssh/id_rsa | ||||
| @@ -50,6 +53,7 @@ see the [action.yml](./action.yml) file for more detail imformation. | ||||
| * strip_components - remove the specified number of leading path elements. | ||||
| * overwrite - use `--overwrite` flag with tar | ||||
| * tar_tmp_path - temporary path for tar file on the dest host | ||||
| * use_insecure_cipher - include more ciphers with use_insecure_cipher (see [#15](https://github.com/appleboy/scp-action/issues/15)) | ||||
|  | ||||
| SSH Proxy Setting: | ||||
|  | ||||
| @@ -61,10 +65,12 @@ SSH Proxy Setting: | ||||
| * proxy_timeout - timeout for ssh to proxy host, default is `30s` | ||||
| * proxy_key - content of ssh proxy private key. | ||||
| * proxy_key_path - path of ssh proxy private key | ||||
| * proxy_fingerprint - fingerprint SHA256 of the host public key, default is to skip verification | ||||
| * proxy_use_insecure_cipher - include more ciphers with use_insecure_cipher (see [#15](https://github.com/appleboy/scp-action/issues/15)) | ||||
|  | ||||
| ### Example | ||||
|  | ||||
| Copy file via ssh password | ||||
| Copy file via a SSH password: | ||||
|  | ||||
| ```yaml | ||||
| - name: copy file via ssh password | ||||
| @@ -78,17 +84,16 @@ Copy file via ssh password | ||||
|     target: "test" | ||||
| ``` | ||||
|  | ||||
| Copy file via ssh key | ||||
| Copy file via a SSH key: | ||||
|  | ||||
| ```yaml | ||||
| - name: copy file via ssh key | ||||
|   uses: appleboy/scp-action@master | ||||
|   env: | ||||
|     HOST: ${{ secrets.HOST }} | ||||
|     USERNAME: ${{ secrets.USERNAME }} | ||||
|     PORT: ${{ secrets.PORT }} | ||||
|     KEY: ${{ secrets.KEY }} | ||||
|   with: | ||||
|     host: ${{ secrets.HOST }} | ||||
|     username: ${{ secrets.USERNAME }} | ||||
|     port: ${{ secrets.PORT }} | ||||
|     key: ${{ secrets.KEY }} | ||||
|     source: "tests/a.txt,tests/b.txt" | ||||
|     target: "test" | ||||
| ``` | ||||
| @@ -98,17 +103,16 @@ Example configuration for ignore list: | ||||
| ```yaml | ||||
| - name: copy file via ssh key | ||||
|   uses: appleboy/scp-action@master | ||||
|   env: | ||||
|     HOST: ${{ secrets.HOST }} | ||||
|     USERNAME: ${{ secrets.USERNAME }} | ||||
|     PORT: ${{ secrets.PORT }} | ||||
|     KEY: ${{ secrets.KEY }} | ||||
|   with: | ||||
|     host: ${{ secrets.HOST }} | ||||
|     username: ${{ secrets.USERNAME }} | ||||
|     port: ${{ secrets.PORT }} | ||||
|     key: ${{ secrets.KEY }} | ||||
|     source: "tests/*.txt,!tests/a.txt" | ||||
|     target: "test" | ||||
| ``` | ||||
|  | ||||
| Example configuration for multiple server | ||||
| Example configuration for multiple servers: | ||||
|  | ||||
| ```diff | ||||
|   uses: appleboy/scp-action@master | ||||
| @@ -122,7 +126,7 @@ Example configuration for multiple server | ||||
|     target: "test" | ||||
| ``` | ||||
|  | ||||
| remove the specified number of leading path elements | ||||
| Remove the specified number of leading path elements: | ||||
|  | ||||
| ```yaml | ||||
| - name: remove the specified number of leading path elements | ||||
| @@ -137,7 +141,7 @@ remove the specified number of leading path elements | ||||
|     strip_components: 1 | ||||
| ``` | ||||
|  | ||||
| old target structure: | ||||
| Old target structure: | ||||
|  | ||||
| ```sh | ||||
| foobar | ||||
| @@ -146,7 +150,7 @@ foobar | ||||
|     └── b.txt | ||||
| ``` | ||||
|  | ||||
| new target structure: | ||||
| New target structure: | ||||
|  | ||||
| ```sh | ||||
| foobar | ||||
|   | ||||
							
								
								
									
										13
									
								
								action.yml
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								action.yml
									
									
									
									
									
								
							| @@ -23,6 +23,11 @@ inputs: | ||||
|     description: 'path of ssh private key' | ||||
|   passphrase: | ||||
|     description: 'ssh key passphrase' | ||||
|   fingerprint: | ||||
|     description: 'fingerprint SHA256 of the host public key, default is to skip verification' | ||||
|   use_insecure_cipher: | ||||
|     description: 'include more ciphers with use_insecure_cipher' | ||||
|     default: false | ||||
|   target: | ||||
|     description: 'target path on the server' | ||||
|   source: | ||||
| @@ -30,6 +35,9 @@ inputs: | ||||
|   rm: | ||||
|     description: 'remove target folder before upload data' | ||||
|     default: false | ||||
|   debug: | ||||
|     description: 'enable debug message' | ||||
|     default: false | ||||
|   strip_components: | ||||
|     description: 'remove the specified number of leading path elements' | ||||
|     default: 0 | ||||
| @@ -56,6 +64,11 @@ inputs: | ||||
|     description: 'content of ssh proxy private key. ex raw content of ~/.ssh/id_rsa' | ||||
|   proxy_key_path: | ||||
|     description: 'path of ssh proxy private key' | ||||
|   proxy_fingerprint: | ||||
|     description: 'fingerprint SHA256 of the host public key, default is to skip verification' | ||||
|   proxy_use_insecure_cipher: | ||||
|     description: 'include more ciphers with use_insecure_cipher' | ||||
|     default: false | ||||
| runs: | ||||
|   using: 'docker' | ||||
|   image: 'Dockerfile' | ||||
|   | ||||
| @@ -2,8 +2,6 @@ | ||||
|  | ||||
| set -eu | ||||
|  | ||||
| export GITHUB="true" | ||||
|  | ||||
| [ -n "$INPUT_STRIP_COMPONENTS" ] && export INPUT_STRIP_COMPONENTS=$((INPUT_STRIP_COMPONENTS + 0)) | ||||
|  | ||||
| sh -c "/bin/drone-scp $*" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user