ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ CI/CD ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΠΈΠ· GitLab. Π Π°ΡΡΠΈΡΠ΅Π½ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π²Π½ΡΡΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ docker
-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΠ΅ΡΠ΅Π· NAT ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ SSH-ΡΡΠ½Π½Π΅Π»Π΅ΠΉ
-
Bash - ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠ½Π½Π΅Π»Π΅ΠΉ
-
NodeJS - ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ
docker-registry
ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ SSL ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅ΡΠ΅Π· NAT. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄proxy/server.js
Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: tools/
-
docker_clean.sh
- ΡΡΠΈΠ»ΠΈΡΠ° ΠΎΡΠΈΡΡΠΊΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡdocker
ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π½Π° Ρ ΠΎΡΡ ΠΌΠ°ΡΠΈΠ½Π΅ -
docker_commit.sh
- ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° Π²docker
Π½Π° Ρ ΠΎΡΡ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠ΅ ΠΎΠ±ΡΠ°Π·Π° -
docker.sh
- ΡΡΠΈΠ»ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π°docker
ΠΌΠ°ΡΠΈΠ½Π΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌdocker-compose
, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ, TLS ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅blue-green
ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΡΡΠΊΠ° ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΌΠ΅ΡΡΠ° -
env.sh
- ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡΡ--prefix
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΠΊ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌMKD_
ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉMKD_DB
ΠΏΠΎΠ²Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉDB
-
init.sh
- ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΠΏΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠ° CI/CD -
port_free.sh
- ΡΡΠΈΠ»ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° Π΄Π»Ρ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Ρ ΠΎΡΡΠ΅ -
ssh_keyscan.sh
- ΡΡΠΈΠ»ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ SSH ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π»Ρ Ρ ΠΎΡΡΠ° -
tg.sh
- ΡΡΠΈΠ»ΠΈΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Telegram, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΠ΅Π·curl
-
tunnel.sh
- ΡΡΠΈΠ»ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ SSH-ΡΡΠ½Π΅Π»Ρ Π΄ΠΎ Ρ ΠΎΡΡΠ° Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ² Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ--keep
ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎdocker-registry
, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ--registry
-
version.sh
- ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ±ΡΠ°Π·Π°/ΠΏΡΠΎΠ΅ΠΊΡΠ°, Ρ ΡΡΠ΅ΡΠΎΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π°ΡΡ, ΠΏΡΠ΅ΡΠΈΠΊΡΠ° ΠΈhash
-ΠΊΠΎΠΌΠΈΡΠ°. ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎnpm
-ΠΏΡΠΎΠ΅ΠΊΡΡ Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°package.json
Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /
-
ci.sh
- ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΡ CI/CD -
deploy.self.sh
- ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ runner`Π° Π½Π°docker
ΠΌΠ°ΡΠΈΠ½Π΅ -
init.sh
- ΡΠΊΡΠΈΠΏΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ GitLab ΠΈdocker-registry
ΠΏΡΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ -
register.sh
- Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ runner`Π° Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² ΡΡΠ΅Π΄Π΅docker
-
run.sh
- Π·Π°ΠΏΡΡΠΊ runner`Π° Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² ΡΡΠ΅Π΄Π΅docker
-
tunnel.key.sh
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ SSH ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΊΠ»ΡΡΠ° Π½Π° Ρ ΠΎΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠ½Π½Π΅Π»Ρ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ, Ρ ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ
-
make runner-register
- ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ runner`Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ environment ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ cli -
make runner-cli
- Π·Π°ΠΏΡΡΠΊ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ runner`Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ environment ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ cli -
make runner-deploy
- ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ runner`Π° Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅docker
Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ environment ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ -
make host=[HOST] tunnel-deploy
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ SSH ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΡΠ½Π½Π΅Π»Ρ Π½Π° Ρ ΠΎΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, Π³Π΄Π΅[HOST]
- Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ» IP Π°Π΄ΡΠ΅Ρ ΠΌΠ°ΡΠΈΠ½Ρ Ρ SSH Π΄ΠΎΡΡΡΠΏΠΎΠΌ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅Ρ |
---|---|---|
COMPOSE_PROJECT_NAME |
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π΄Π»Ρ docker-compose |
dev |
COMPOSE_PATH_SEPARATOR |
Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
compose ΡΠ°ΠΉΠ»ΠΎΠ² |
: |
COMPOSE_FILE |
compose ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ |
docker-compose.yml |
RUNNER_URL |
ΠΠ΄ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ GitLab ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ±ΠΎΡΡΠΈΠΊΠ° | https://gitlab |
RUNNER_DESCRIPTION |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ±ΠΎΡΡΠΈΠΊΠ°, Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΏΠ°Π½Π΅Π»ΠΈ GitLab Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ | mkd |
RUNNER_TAGS |
Π’Π΅Π³ΠΈ, Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΡΠ±ΠΎΡΡΠΈΠΊΠ°ΠΌ | docker, ssh, windows |
RUNNER_CONCURRENT_JOB_COUNT |
ΠΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ»-Π²ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΡ, 1 ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | 2 |
VERSION |
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΡΠ±ΠΎΡΡΠΈΠΊΠ° | 1.0.0 |
VERSION_PROXY |
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ docker-registry |
1.1.0 |