1+ parameters :
2+ name : ' '
3+ distro : ' '
4+
5+ jobs :
6+ - job : ${{ parameters.name }}
7+ pool :
8+ vmImage : ' ubuntu-16.04'
9+
10+ steps :
11+
12+ - task : InstallSSHKey@0
13+ inputs :
14+ knownHostsEntry : $(ssh.knownhost)
15+ sshPublicKey : $(ssh.pub)
16+ sshKeySecureFile : id_rsa
17+
18+ - task : DownloadSecureFile@1
19+ displayName : ' Download SSH keys to'
20+ inputs :
21+ secureFile : ' id_rsa'
22+
23+ - script : |
24+ cat $(Agent.TempDirectory)/id_rsa > $(key)
25+ chmod 600 $(key)
26+ displayName: 'Prepare SSH key'
27+
28+ - template : vm-up.yaml
29+ parameters :
30+ distro : ${{ parameters.distro }}
31+
32+ - script : |
33+ echo "key: $(key)"
34+ echo "agent: $(agent)"
35+ echo "dir: $(dir)"
36+ $(cssh) $(agent) -- sudo apt -y install rsync
37+ rsync -Pavr -e "ssh -i $(key) -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" . $(agent):$(dir)
38+ $(cssh) $(agent) -- ls $(dir)
39+ displayName: 'Prepare VM'
40+
41+ - script : |
42+ echo "agent: $(agent)"
43+ echo "dir: $(dir)"
44+ $(cssh) $(agent) -- sh $(dir)/bootstrap.sh
45+ $(cssh) $(agent) -- docker ps
46+ $(cssh) $(agent) -- iofogctl version
47+ displayName: 'Bootstrap'
48+
49+ - script : |
50+ echo $(gcp.svcacc) > /tmp/svcacc.json
51+ rsync -Pavr -e "ssh -i $(key) -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" /tmp/svcacc.json $(agent):/tmp/
52+ $(cssh) $(agent) -- cat /tmp/svcacc.json | docker login -u _json_key --password-stdin https://gcr.io
53+ displayName: 'Docker connect to Registry'
54+
55+ # - script: |
56+ # docker pull gcr.io/focal-freedom-236620/controller:develop
57+ # docker pull gcr.io/focal-freedom-236620/connector:develop
58+ # docker pull gcr.io/focal-freedom-236620/agent:develop
59+ # displayName: 'Pull latest images'
60+
61+ - script : |
62+ $(cssh) $(agent) -- bash $(dir)/start.sh tutorial
63+ # Use dev version of agent and controller until 1.3.0 release
64+ # ./start.sh -ct gcr.io/focal-freedom-236620/controller:develop -a gcr.io/focal-freedom-236620/agent:develop -cn gcr.io/focal-freedom-236620/connector:develop
65+ displayName: 'Start Connector, Controller, Agent, and tutorial microservices'
66+
67+ - script : |
68+ $(cssh) $(agent) -- bash $(dir)/test.sh
69+ displayName: 'Run Tests'
70+
71+ - script : |
72+ $(cssh) $(agent) -- bash $(dir)/stop.sh
73+ displayName: 'Stop Connector, Controller, and Agent'
74+
75+ - script : |
76+ echo "===== IOFOG AGENT LOG ====="
77+ docker exec iofog-agent cat /var/log/agent.out.log
78+ displayName: 'Print logs'
79+ condition: failed()
80+
81+ - template : vm-down.yaml
0 commit comments