22
33* [ Adding firewall entries for Jenkins workers] ( #adding-firewall-entries-for-jenkins-workers )
44* [ ` release-* ` machines] ( #release--machines )
5+ * [ ` release-*container* ` machines] ( #release-container-machines )
56 * [ macOS release machines] ( #macos-release-machines )
67 * [ Full Xcode] ( #full-xcode )
78 * [ Signing certificates] ( #signing-certificates )
1516 * [ Install XL compilers] ( #install-xl-compilers )
1617 * [ Fix "Missing" shared objects] ( #fix-missing-shared-objects )
1718 * [ Preparing gcc distributables] ( #preparing-gcc-distributables )
18- * [ Preparing ccache distributables] ( #preparing-ccache-distributables )
1919* [ Windows (Azure/Rackspace)] ( #windows-azurerackspace )
2020 * [ Control machine (where Ansible is run)] ( #control-machine-where-ansible-is-run )
2121 * [ Target machines] ( #target-machines )
@@ -50,14 +50,18 @@ To add an entry do the following:
5050Once setup, they must have ` ~iojs/.ssh ` cloned from another machine, so they
5151have the ssh setup and keys required to upload release artifacts to the
5252nodejs.org web server. The result will be 2 files, an ` id_rsa ` containing
53- a private key, and a config containing:
53+ a private key, and a ` config ` containing:
54+
5455```
5556Host node-www
5657 HostName direct.nodejs.org
5758 User staging
5859 IdentityFile ~/.ssh/id_rsa
5960```
6061
62+ Both the ` config ` file and ` id_rsa ` should be owned and only readable by the
63+ user: ` chmod 700 .ssh && chmod 600 .ssh/* ` .
64+
6165Its necessary to accept the ` known_hosts ` keys interactively on first ssh or
6266the release builds will fail. After setting up .ssh, do something like this:
6367
@@ -66,6 +70,21 @@ ssh node-www date
6670// ... accept the host keys
6771```
6872
73+ ### ` release-*container* ` machines
74+
75+ In the case of Docker container release hosts, the SSH configuration above works
76+ differently since the ` ~iojs ` home directories are elsewhere on the host
77+ machine. The Docker containers are started with ` /home/iojs ` inside the
78+ container mounted from ` /home/iojs/name-of-container/ ` on the host machine.
79+ Therefore, the above SSH configuration should take place in
80+ ` /home/iojs/name-of-container/.ssh/ ` , with permissions set appropriately.
81+
82+ ` known_hosts ` can be primed and SSH tested from within the running containers:
83+
84+ 1 . Find the running container ID using ` docker ps `
85+ 2 . Enter the container using ` docker exec <containerid> -ti bash `
86+ 3 . Run ` ssh node-www date ` (as above)
87+
6988### macOS release machines
7089
7190Previous notes: [ #1393 ] ( https://github.com/nodejs/build/issues/1393 )
0 commit comments