Files
2022-12-23 15:29:14 +01:00

51 lines
1.5 KiB
Markdown

# ZeroTier GitHub Action
ZeroTier is an SDN platform that allows users to create virtual
networks that can span multiple devices, locations, and cloud
providers. ZeroTier creates an encrypted peer-to-peer mesh overlay
network that handles NAT traversal and authentication to network
resources.
The ZeroTier Github Action allows users to easily integrate
ZeroTier into their CI/CD workflows by temporarily joining and
authorizing runners onto private ZeroTier networks.
```yaml
- name: ZeroTier
uses: zerotier/github-action@v1.0.1
with:
network_id: ${{ secrets.ZEROTIER_NETWORK_ID }}
auth_token: ${{ secrets.ZEROTIER_CENTRAL_TOKEN }}
```
`ZEROTIER_CENTRAL_TOKEN` can be provisioned from `Account` section in the [ZeroTier Central](https://my.zerotier.com) admin panel.
This Action works on Ubuntu, MacOS, and Windows runners.
----
This action installs ZeroTier on the runner node and generates a unique ZeroTier identity.
It then uses the supplied `auth_token` to authorize the runner onto the network.
```yaml
- name: ZeroTier
uses: zerotier/github-action@v1.0.1
with:
network_id: ${{ secrets.ZEROTIER_NETWORK_ID }}
auth_token: ${{ secrets.ZEROTIER_CENTRAL_TOKEN }}
- name: ping host
shell: bash
run: |
count=10
while ! ping -c 1 ${{ secrets.ZEROTIER_HOST_IP }} ; do
echo "waiting..." ;
sleep 1 ;
let count=count-1
done
echo "ping success"
```
After the workflow has completed, a `post` step automatically cleans
up by removing the runner from the network.