Tredun ohjelmistokehittäjien kurssimateriaaleja
Kaikilla tiimeillä on oma käyttäjä/salasana sekä kotihakemisto yhteisellä Ubuntu - palvelimella. Jokaisella ryhmällä on oma portti, johon käynnistetään projektityön docker-kontti. Koska käytämme yhteistä serveriä, sama docker instanssi ajaa kaikkien ryhmien kontteja, älä koske muoden kontteihin vain omaasi.
Avaa Bash ja ota SSH-yhteys serverille (kysyy salasanan, Linux-käyttäjä: team1):
> ssh team1@my_ubuntu_ip
Aseta Github SSH key:t projektin koodirepoon ohjeet
$ mkdir .ssh
$ cd .ssh
$ ssh-keygen
$ ls -la
$ cat id_rsa.pub
$ cd ~
Kopioi public key hiiren oikealla ja tallenna avain github-projektin koodirepoon (Account Settings -> SSH -> Add key).
Kloonaa repo käyttämällä SSH - osoitetta:
$ git clone git@github.com:xxx/yyy.git
Luo .env - tiedosto, ja muokkaa ympäristömuuttujat siihen (tietokannan host, DB nimi, käyttäjä ja salasana jne.). Voit luoda tiedoston käyttämällä nanoa (tallennus Ctrl-x + yes), voit kopioida ja liittää sisältöä hiiren oikealla napilla:
$ cd backend
$ nano .env
Buildaa projekti käyttäen ryhmällesi varattua porttia (tässä portti on 81). Lisää kontille myös nimi (–name), jotta kontit eivät mene sekaisin.
Huom! poista .dockerignoresta .env (tässä haluamme sen mukaan).
```cmd
$ docker build . -t myapp
$ docker run -d --name team1_sprint1 -p 81:3001 myapp
```
Nyt jokaisen ryhmän node.js - applikaatio löytyy oman subdomainin alta esim.
https://team1.my_domain.yy
https://team2.my_domain.yy
Jatkossa uuden version asentamiseen riittää:
Avaa Bash ja ota SSH-yhteys serveriin
Tee pull repoon, poista vanha kontti, tee uusi build ja käynnistä se:
$ git pull
$ docker stop team1_app
$ docker rm team1_app
$ docker build . -t myapp
$ docker run -d --name team1_sprint2 -p 81:3001 myapp