Use this action to connect to a remote server and execute commands via the Secure Shell Protocol (SSH).
Input name | Data type | Required? | Description |
---|---|---|---|
|
String |
Yes |
SSH host address. |
|
String |
Yes |
The SSH username. |
|
String |
No |
SSH port number. Default is |
|
String |
Yes |
The commands to be executed. |
|
String |
Required only if |
The path to the SSH private key file. |
|
String |
No |
The SSH key passphrase. |
|
String |
Required only if |
The SSH password. |
In your YAML file, add:
- name: SSH with username and key
uses: cloudbees-io/ssh-deploy-actions@v1
with:
host: ${{ secrets.SSH_HOST }}
username: user1
key_path: ${{ secrets.SSH_PRIVATE_KEY }}
port: "22"
script: whoami,pwd,echo "hello"
In your YAML file, add:
- name: SSH with username and password
uses: cloudbees-io/ssh-deploy-actions@v1
with:
host: ${{ secrets.SSH_HOST }}
username: testUser
password: ${{ secrets.SSH_PASSWORD }}
port: "22"
script: whoami,pwd
In your YAML file, add:
- name: SSH with username and passphrase-protected key
uses: cloudbees-io/ssh-deploy-actions@v1
with:
host: ${{ secrets.SSH_HOST }}
username: demoUser
key_path: ${{ secrets.SSH_PP_KEY }}
port: "22"
passphrase: ${{ secrets.SSH_PP_KEY_PASSPHRASE }}
script: pwd,echo "hello"
Chef is an open-source configuration management tool that automates infrastructure provisioning and management by defining system configurations as code.
Use SSH access to the Chef workstation to execute knife commands and trigger cookbooks on the Chef nodes.
Note
|
The platform user must provide a single workstation with pre-configured roles, a configured knife bootstrap, and a configured SSH. The communication between the workstation, server, and nodes must be verified and tested. |
In your YAML file, add:
- name: Execute remote Chef commands
uses: cloudbees-io/ssh-deploy-actions@v1
with:
host: ${{ secrets.MY_SSH_HOST }}
username: ${{ secrets.CHEF_WS_USER }}
key_path: ${{ secrets.CHEF_WS_KEY }}
port: "22"
script: cd chef-repo/ && sudo knife ssh "name:*" 'sudo chef-client -o "recipe[nano_install]"' -x ec2-user -p 22 -i chefnode.pem
The following command is used to log in to the Chef node machines and run the chef-client
command, which executes the cookbook:
`sudo knife ssh "name:*" 'sudo chef-client -o "recipe[nano_install]"' -x ec2-user -p 22 -i chefnode.pem`
Note
|
For more information, refer to the Chef knife SSH documentation. |
This code is made available under the MIT license.
-
Learn more about using actions in CloudBees workflows.
-
Learn about the CloudBees platform.