ืจืึธืืืื ื ืึท ืืึทื ื ืคืื ืืืงืจืึธืกืขืจืืืืกืขืก ืคึฟืื ืืืื Git ืจืืคึผืึทืืึทืืึธืจื
ื ืกืืืืึทืฆืืข ืึธืคื ืึทืงืขืจื ืืืขื ืึท ืึทืคึผืืึทืงืืืฉืึทื ืืื ืฆืขืืืืื ืืื ืคืืืข ืืขืจ ืึธืืขืจ ืืืืื ืืงืขืจ ืคืจืืึท ืืึทืืื ืื ืืก. ืจืืืืกืื ืคืื ืื ืกืขืจืืืืกืขืก ืงืขื ืขื ืคึผืึทืกืืจื ืื ืืืคึผืขื ืืึทื ืืื: ืืืื ืขืจ ืึธืืขืจ ืืขืจ ืกืขืจืืืืกืขืก ืงืขื ืขื ืืืื ืืืคืจืืื ืืื ืึท ืฆืืื, ืืฉืขืช ืื ืื ืืื ืืืื ืคืึธืจืืขืฆื ืฆื ืึทืจืืขืื ืึธื ืขื ืืขืจืื ืืขื. ืึธืืขืจ ืคึฟืื ืื ืคืื ื ืคืื ืืืื ืื ื ืคืื ืงืึธื ืกืืึธืจืืืืฉ ืืื ืคึผืจืืืขืงื ืคืึทืจืืืึทืืืื ื, ืขืก ืืื ืืขืจ ืืึทืงืืืขื ืฆื ืืึทืืื ืึทืืึท ืึทืคึผืืึทืงืืืฉืึทื ืืึทืืื ืื ืืก ืืื ืึท ืืืื ืจืืคึผืึทืืึทืืึธืจื.
ืขืก ืืขื ืขื ืกืืืืึทืืืึธื ืก ืืืขื ืกืขืจืืืืกืขืก ืืขื ืขื ืืืืช ืคืจืืึท ืืื ื ืืฉื ืคึฟืึทืจืืื ืื ืืื ืึท ืืืื ืึทืคึผืืึทืงืืืฉืึทื. ืืื ืืขื ืคืึทื, ืืื ืืืขืื ืืืื ืืืื ืืื ืืึทืืื ืืขืจ ืคึผืจืึทืืืฉืขืงืก ืืื ืืืืขืจ ืืขืืืื ื ืืืขื ืืืื ืืืจืืืขืงืึธืื ืืืจื ืืึทืืื ืืขืจ ืกื / ืกื ืคึผืจืึทืกืขืกืึทื ืืื ืืขืืขืจ ืคืื ืื ืคึผืจืึทืืืฉืขืงืก.
ืึธืืขืจ, ืืื ืคืึทืงื, ืืขืืืขืืึธืคึผืขืจืก ืึธืคื ืฉืคึผืึทืืื ืึท ืืืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืขืืืขืืข ืืืงืจืึธืกืขืจืืืืกืขืก, ืึธืืขืจ ืงืจืืืืืื ื ืึท ืืึทืืื ืืขืจ ืจืืคึผืึทืืึทืืึธืจื ืืื ืคึผืจืืืขืงื ืคึฟืึทืจ ืืขืืขืจ ... ืืื ืึท ืงืืึธืจ ืึธืืืืขืจืงืื. ืขืก ืืื ืื ืกืืืืึทืฆืืข ืืืึธืก ืืืขื ืืืื ืืืกืงืึทืกื ืืืืึทืืขืจ: ืขืืืขืืข ืึทืืึท ืืืงืจืึธ ืืึทืืื ืื ืืก ืืขื ืขื ืืืื ืืื ืึท ืืืื ืคึผืจืืืขืงื ืจืืคึผืึทืืึทืืึธืจื ืืื ืจืืืืกืื ืคืึทืื ืืืจื ืึท ืืืื ืคึผืจืึธืฆืขืก ืืื ืกื / ืกื.
ืืึทืืื ื ืืืจื ืืื ืฆืืืืึทื ืืื ืืื ืืึทื
ืืื ืก ืืึธืื ืื ืืขืจืกื ืคึผืจืึธืกื ืืึทืืื ื ืกืืจืึทืืขืืืข ืืื ืืขื ืืฆื - ืงืืืืื ืึธืืขืจ ืฆืืืืึทื. ืคึฟืึทืจ ืืื ืฆืืืืืื, ืืืืืขืจ ืืขื ืขื ืืึทืื ืืื ืื ื ืึธืืขื ืคืื ืื ืฆืืืืึทื, ืคึฟืึทืจ ืืืื ืฆืืืืึทื ืืื ืึท ืฆืืึทื ืขืก ืืื ืืืืื ืืืื ืืจืืืก ืืืื ืืื ืื ื ืึธืืขื ืคืื ืืขื ืฆืืืืึทื. ืคึฟืึทืจ Git ืืึทืืก, ืืืืืขืจ ืืขื ืขื ืืึทืื ืืืื ืื ืงืืืืื ื ืึธืืขื.
ืืืขื ืึท ื ืืึทืข ืืื ืงืืืืื ืืื ืืืฉืืคื - ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืขื ืึท ื ืืึทืข ืืืขืจืกืืข ืืื ืจืขืืขืึทืกืขื - ืึท ื ืืึทืข ืืึธืงืงืขืจ ืงืืืืื ืืืขื ืืืื ืืืฉืืคื ืคึฟืึทืจ ืึทืืข ืคึผืจืืืขืงื ืืืืืขืจ ืืื ืื ืืึธืงืงืขืจ ืจืขืืืกืืจื:
-
myregistry.org/myproject/frontend:v1.1.10
-
myregistry.org/myproject/myservice1:v1.1.10
-
myregistry.org/myproject/myservice2:v1.1.10
-
myregistry.org/myproject/myservice3:v1.1.10
-
myregistry.org/myproject/myservice4:v1.1.10
-
myregistry.org/myproject/myservice5:v1.1.10
-
myregistry.org/myproject/database:v1.1.10
ืื ื ืืึทืข ืืืื ื ืขืืขื ืืขื ืขื ืืืจืืืขืืื ืืขื ืืืจื ืืขืื ืืขืืคึผืืึทืืขืก ืฆื ืื Kubernetes ืงืึทื ืคืืืืขืจืืืฉืึทื. ืืืขื ืกืืึทืจืืื ื ืื ืืืคึผืืืืืึทื ื ืืื ืื ืืึทืคึฟืขื werf deploy
ืคืขืื ืืื ืืขืจืืืึทื ืืืงื image
ืืื Kubernetes ืืืื ืืึทื ืืคืขืกืฅ ืืื ืจืืกืืึทืจืืื ื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืจืขืกืืจืกื ืจืขืื ืฆื ืืขืจ ืืฉืืื ืืืฉื ืืืื ื ืึธืืขื.
ืคึผืจืึธืืืขื: ืืื ืืขื ืคืึทื ืืืขื, ืืื ืคืึทืงื, ืื ืืื ืืึทืื ืคืื ืื ืืืื ืืื ื ืืฉื ืคืืจืขื ืืขืจื ืืื ื ืื ืคืจืืขืจืืืงืข ืจืึธืืืึทืื (ืืื ืงืืืืื), ืึธืืขืจ ืืืืื ืืืื ืืึธืงืงืขืจ ืงืืืืื, ืืึธืก ืืึทืคึผืึทื ื ืขืงืกืืจืข ืจืืกืืึทืจืืื ื ืืขื ืึทืคึผืืึทืงืืืฉืึทื ืืื, ืึทืงืึธืจืืื ืืื, ืขืืืขืืข ืืึทืื ืืืื ืืื ืืขืืืขื. ืืึธืืฉ ืขืก ืืื ืงืืื ืคืึทืงืืืฉ ืกืืื ืฆื ืืืจืืคืืจื ืืขื ืจืืกืืึทืจื.
ืืื ืึท ืจืขืืืืืึทื, ืืื ืืขื ืงืจืึทื ื ืืึทืืื ื ืกืืขืืข ืขืก ืืื ื ืืืืืง ืฆื ืคึผืืืื ืขืืืขืืข ืืึทืืื ืืขืจ Git ืจืืคึผืึทืืึทืืึธืจืื ืืื ืื ืคึผืจืึธืืืขื ืขืจืืืืึทื ืคืื ืึธืจืืึทื ืืืืื ื ืื ืจืึธืืืึทืื ืคืื ืื ืขืืืขืืข ืจืืคึผืึทืืึทืืึธืจืื. ืืื ืึทืืืขืืืื, ืึทืืึท ืึท ืกืืขืืข ืืื ืึธืืืืขืจืืึธืืืื ืืื ืงืึธืืคึผืืืฆืืจื. ืขืก ืืื ืืขืกืขืจ ืฆื ืคืึทืจืืื ืื ืคืืืข ืืึทืืื ืื ืืก ืืื ืึท ืืืื ืจืืคึผืึทืืึทืืึธืจื ืืื ืฉืึทืคึฟื ืืึธืงืงืขืจ ืืึทืืก ืึทืืื ืึทื ืขืก ืืขื ืขื ืงืืื ืืื ืืืืืง ืจืืกืืึทืจืื.
ืืึทืืื ื ืืืจื Git commit
werf ืืืื ืืื ืึท ืืึทืืื ื ืกืืจืึทืืขืืืข ืคึฟืึทืจืืื ืื ืืื Git ืงืึทืืืฅ.
Git-commit ืืื ืึท ืืืืขื ืืืืขื ืคึฟืึทืจ ืื ืืื ืืึทืื ืคืื ืึท Git ืจืืคึผืึทืืึทืืึธืจื ืืื ืืขืคึผืขื ืืก ืืืืฃ ืื ืจืขืืึทืืืจื ืืขืฉืืืืข ืคืื โโืืขืงืขืก ืืื ืื Git ืจืืคึผืึทืืึทืืึธืจื, ืึทืืื ืขืก ืกืืื ืืึทืืืฉืืงืึทื ืฆื ื ืืฆื ืขืก ืคึฟืึทืจ ืืึทืืื ื ืืืืืขืจ ืืื ืื ืืึธืงืงืขืจ ืจืขืืืกืืจื.
ืึธืืขืจ, ืืึทืืื ื ืืืจื Git commit ืืื ืื ืืขืืืข ืืืกืึทืืืืึทื ืืืืืฉืื ืืื ืืึทืืื ื ืืืจื Git ืฆืืืืืื ืึธืืขืจ Git ืืึทืืก:
- ืึท ืืืืืืง ืงืึทืืื ืงืขื ืืืื ืืืฉืืคื ืืืึธืก ืืื ื ืืฉื ืืืืฉื ืงืืื ืืขืงืขืก, ืึธืืขืจ ืื ืืึธืงืงืขืจ ืงืืืืื ืคืื ืื ืืืื ืืืขื ืืืื ืืฉืืื ืืืฉื.
- ื ืฆืื ืืืคืืืกื ืงืึทืืื ืงืขื ืืืื ืืืฉืืคื ืืืึธืก ืงืขื ื ืืฉื ืืืืฉื ืื ืืขืงืขืก, ืึธืืขืจ ืื ืืึธืงืงืขืจ ืงืืืืื ืคืื ืื ืืืื ืืืขื ืืืื ืืฉืืื ืืืฉื.
- ื ืงืึธืืืื ืงืขื ืืืื ืืขืืืื ืึทื ืขื ืืขืจืื ืืขื ืื ืืขืงืขืก ืืื Git ืืืึธืก ืืขื ืขื ื ืืฉื ืืืคึผืึธืจืืื ืืื ืื ืืืื, ืืื ืื ืืึธืงืงืขืจ ืงืืืืื ืคืื ืื ืืืื ืืืขื ืืืื ืืฉืืื ืืืฉื ืืืืืขืจ.
ืืึทืืื ื ืืื ืฆืืืืึทื ื ืึธืืขื ืืื ื ืืฉื ืคืึทืจืืจืึทืืื ืื ืืืื ืืืขืจืกืืข
ืขืก ืืื ืื ืื ืืขืจ ืคึผืจืึธืืืขื ืคึฟืึทืจืืื ืื ืืื ืื ืืึทืืื ื ืกืืจืึทืืขืืืข ืคึฟืึทืจ ืืื ืฆืืืืืื.
ืืึทืืื ื ืืืจื ืฆืืืืึทื ื ืึธืืขื ืึทืจืืขื ืึทืืื ืืึทื ื ืืื ืื ืงืึทืืืฅ ืืืืฃ ืืขื ืฆืืืืึทื ืืขื ืขื ืืขืืืืื ืกืึทืงืืืขื ืืฉืึทืื ืืื ืงืจืึทื ืึทืืึทืืืฉืืงืึทื ืกืืจ.
ืืืื ืืื ืืขื ืงืจืึทื ื ืกืืขืืข ืืขืจ ืืึทื ืืฆืขืจ ืกืืึทืจืฅ ืจืืืืืืื ื ืึทื ืึทืื ืงืึทืืื ืคึฟืึทืจืืื ืื ืืื ืึท ืืืืขืจ ืฆืืืืึทื, werf ืืืขื ืจืืจืืื ืื ืืืื ืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืึธืงืงืขืจ ืงืืืืื ืืื ืึท ื ืื ืืขืืืื ืืืขืจืกืืข ืคืื โโโโืื ืืืื ืคึฟืึทืจ ืื ืึทืื ืงืึทืืื. ืืืคึผืืืืืึทื ืฅ ื ืืฆื ืืขื ืงืืืืื ืคึฟืื ืืืฆื ืืืืฃ ืืืืคื ืื ืจืืืืงืืจื ืคืื ืคึผืืืื ื ืึท ืึทื ืืขืจืฉ ืืืขืจืกืืข ืคืื โโโโืื ืืืื ืืืขื ืจืืกืืึทืจืืื ื ืคึผืึธืืก, ืืื ืึท ืจืขืืืืืึทื ืคืื ืืืึธืก ืืื ืืืขืจ ืึทืคึผืืึทืงืืืฉืึทื ืืืขื ืคืึทืจืืืจื ืงืฉืจ ืืื ืื ืกื ืกืืกืืขื ืืื ืืืขืจื ืืขืกืื ืืฉืจืึธื ืืืขื.
ืืื ืืขืจืฆื, ืืื ืกืึทืงืกืขืกืืื ืคึผืืฉืื ืืื ืืืื ืฆืืืืึทื ืืื ืึท ืงืืจืฅ ืฆืืื ืฆืืืืฉื ืืื, ืื ืึทืื ืงืึทืืื ืงืขื ืืืื ืงืึทืืคึผืืืื ืฉืคึผืขืืขืจ ืืื ืื ื ืืึทืขืจ ืืืื ืขืจ: ืื ืึทืื ืืืขืจืกืืข ืคืื โโโโืื ืืืื ืืืขื ืึธืืืืขืจืจืืื ืื ื ืืึทืข ืืื ืื ืืื ืฆืืืืึทื ืืึทื. ืึทืืึท ืคึผืจืึธืืืขืืก ืงืขื ืขื ืืืื ืกืึทืืืื ืืืจื ืึท ืกื / ืกื ืกืืกืืขื (ืืืฉื, ืืื GitLab CI ืื ืจืขืจื - ืืื ืืข ืคืื โโืื ืืขื ืขืจ ืืื ืืึธื ืืฉื ืคึฟืึทืจ ืึท ืกืขืจืืข ืคืื โโืงืึทืืืฅ). ืึธืืขืจ, ื ืื ืึทืืข ืกืืกืืขืืขื ืฉืืืฆื ืืขื ืืื ืขืก ืืืื ืืืื ืึท ืืขืจ ืคืึทืจืืึธืืืขื ืืืขื ืฆื ืคืึทืจืืืึทืื ืึทืืึท ืึท ืคืื ืืึทืืขื ืืึทื ืคึผืจืึธืืืขื.
ืืืึธืก ืืื ืืื ืืึทืื-ืืืืืจื ืืึทืืื ื?
ืึทืืื, ืืืึธืก ืืื ืืื ืืึทืื-ืืืืืจื ืืึทืืื ื - ืืึทืืื ื ืืืืืขืจ ืืืจื ืืื ืืึทืื.
ืฆื ืฉืึทืคึฟื ืืึธืงืงืขืจ ืืึทืืก, ืขืก ืืื ื ืืฉื Git ืคึผืจืืืืืืืื (Git ืฆืืืืึทื, Git Tag ...) ืืืึธืก ืืขื ืขื ืืขื ืืฆื, ืึธืืขืจ ืึท ืืฉืขืงืงืกืื ืคึฟืึทืจืืื ืื ืืื:
- ืืื ืืึทืื ืคืื ืื ืืืื. ืื ืืืื ืฉืืึทื ืงืืืืื ืจืืคืืขืงืก ืืืึทื ืืื ืืึทืื. ืืืขื ืืืจ ืืืืขื ืึท ื ืืึทืข ืืืขืจืกืืข, ืืขื ืืืืขื ืืืืขื ืืืขื ื ืืฉื ืืืืฉื ืืืื ืื ืืขืงืขืก ืืื ืื ืืืื ืืึธืื ื ืืฉื ืืขืืืื;
- ืืขืฉืืืืข ืคืื โโืงืจืืืืืื ื ืืขื ืืืื ืืื ืืื. ืืืืืขืจ ืคึฟืึทืจืืื ืื ืืื ืคืึทืจืฉืืืขื ืข ืืื ืฆืืืืืื ืืื ืคืึทืจืฉืืืขื ืข ืืืืขื ืืขืฉืืืืข ืืืจื ืืืึธืจืฃ ืืืขื ืืึธืื ืคืึทืจืฉืืืขื ืข ืฉืืึทื ืืึทืืก.
ืึทืืึท ืึท ืืืขื ืืืคืืขืจ ืงืืืืื ืืื ืื ืึทืืื ืืขืจืืคืขื ืข ืืืื ืืื ืข ืืกืืืข.
ืืขืืขืจ ืืืื ืืืฉืืืื ืคืื ืึท ืืึทื ื ืคืื ืกืืึทืืขืก: from
, before-install
, git-archive
, install
, imports-after-install
, before-setup
, ... git-latest-patch
ืืื"ื ื ืืขืืขืจ ืืื ืข ืืื ืึท ืืืขื ืืืคืืขืจ ืืืึธืก ืจืืคืืขืงืก ืืืึทื ืืื ืืึทืื - ืืื ืข ืืกืืืข (ืืื ืข ืืกืืืข).
ืื ืืขืฆื ืืืื, ืงืึทื ืกืืกืืื ื ืคืื ืื ืกืืึทืืขืก, ืืื ืืึทืื ืืื ืื ืึทืืื ืืขืจืืคืขื ืข ืืกืืืข ืคืื โโืื ืืึทื ื ืคืื ืื ืกืืึทืืขืก - ืกืืึทืืขืก ืืกืืืข, - ืืืึธืก ืืื ืืขื ืขืจืึทืืืืื ื ืคึฟืึทืจ ืึทืืข ืกืืึทืืขืก ืคืื ืื ืืืื.
ืคึฟืึทืจ ืืขืืขืจ ืืืื ืคืื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื werf.yaml
ืืื ืึทืืืขืืืื, ืขืก ืืืขื ืืืื ืืืื ืืืืืขื ืข ืืกืืืข ืืื, ืึทืงืึธืจืืื ืืื, ืึท ืืึธืงืงืขืจ ืงืืืืื.
ืื ืืื ืข ืืกืืืข ืกืึทืืืื ืึทืืข ืื ืคืจืืืืขืืขื:
- ืงืขืื ืฉืืขืืืง ืฆื ืืืืืืง ืืื ืงืึทืืืฅ.
- Resistant to Git ืงืึทืืืฅ ืึทื ืืืืฉื ืืขืงืขืก ืืืึธืก ืืขื ืขื ื ืืฉื ืืึทืืืึทืืืง ืฆื ืื ืืืื.
- ืืื ื ืืฉื ืคืืจื ืฆื ืื ืคึผืจืึธืืืขื ืคืื ืึธืืืืขืจืืึธืืื ื ืื ืงืจืึทื ื ืืืขืจืกืืข ืคืื โโืื ืืืื ืืืขื ืจืืกืืึทืจืืื ื ืืืืขื ืคึฟืึทืจ ืึทืื ืืื ืงืึทืืืฅ ืคืื ืึท ืฆืืืืึทื.
ืืึธืก ืืื ืืืฆื ืื ืจืขืงืึทืืขื ืืื ืืึทืืื ื ืกืืจืึทืืขืืืข ืืื ืืื ืื ืคืขืืืงืืึทื ืืื ืืืึธืจืฃ ืคึฟืึทืจ ืึทืืข ืกื ืกืืกืืขืืขื.
ืืื ืฆื ืืขืื ืืื ื ืืฆื ืืื werf
ืืขืจ ืืึทืคึฟืขื ืืืฆื ืืื ืึท ืงืึธืจืึทืกืคึผืึทื ืืื ื ืึธืคึผืฆืืข werf publish
: --tag-by-stages-signature=true|false
ืืื ืึท ืกื ืกืืกืืขื, ืื ืืึทืืื ื ืกืืจืึทืืขืืืข ืืื ืกืคึผืขืกืืคืืขื ืืืจื ืื ืืึทืคึฟืขื werf ci-env
. ืคืจืืขืจ, ืืขืจ ืคึผืึทืจืึทืืขืืขืจ ืืื ืืืคืืื ื ืคึฟืึทืจ ืืื werf ci-env --tagging-strategy=tag-or-branch
. ืืืฆื, ืืืื ืืืจ ืกืคึผืขืฆืืคืืฆืืจื werf ci-env --tagging-strategy=stages-signature
ืึธืืขืจ ืืึธื ื ืื ืกืคึผืขืฆืืคืืฆืืจื ืืขื ืึธืคึผืฆืืข, werf ืืืขื ื ืืฆื ืื ืืึทืืื ื ืกืืจืึทืืขืืืข ืืืจื ืคืขืืืงืืึทื stages-signature
. ืืึทื ืฉืึทืคึฟื werf ci-env
ืืืขื ืืืืืึธืืึทืืืฉ ืฉืืขืื ืื ื ืืืืืง ืคืืึทืืก ืคึฟืึทืจ ืื ืืึทืคึฟืขื werf build-and-publish
(ืึธืืขืจ werf publish
), ืึทืืื ืงืืื ื ืึธื ืึธืคึผืฆืืขืก ืืึทืจืคึฟื ืฆื ืืืื ืกืคึผืขืกืืคืืขื ืคึฟืึทืจ ืื ืงืึทืืึทื ืื.
ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื ืืึทืคึฟืขื:
werf publish --stages-storage :local --images-repo registry.hello.com/web/core/system --tag-by-stages-signature
... ืงืขื ืขื ืืึทืื ืื ืคืืืืขื ืืข ืืืืืขืจ:
-
registry.hello.com/web/core/system/backend:4ef339f84ca22247f01fb335bb19f46c4434014d8daa3d5d6f0e386d
-
registry.hello.com/web/core/system/frontend:f44206457e0a4c8a54655543f749799d10a9fe945896dab1c16996c6
ืืึธ 4ef339f84ca22247f01fb335bb19f46c4434014d8daa3d5d6f0e386d
ืืื ืึท ืืกืืืข ืคืื โโืื ืกืืึทืืขืก ืคืื ืื ืืืื backend
ืืื f44206457e0a4c8a54655543f749799d10a9fe945896dab1c16996c6
- ืืกืืืข ืคืื โโืืืื ืกืืึทืืขืก frontend
.
ืืืขื ื ืืฆื ืกืคึผืขืฆืืขื ืคืึทื ืืงืฉืึทื ื werf_container_image
ะธ werf_container_env
ืขืก ืืื ื ืื ืืึทืจืคึฟื ืฆื ืืืืฉื ืขืคึผืขืก ืืื ืื ืืขืื ืืขืืคึผืืึทืืขืก: ืื ืคืึทื ืืงืฉืึทื ื ืืืขื ืืืืืึธืืึทืืืฉ ืืืฉืขื ืขืจืืื ืื ืจืืืืืง ืืืื ื ืขืืขื.
ืืืึทืฉืคึผืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืึท ืกื ืกืืกืืขื:
type multiwerf && source <(multiwerf use 1.1 beta)
type werf && source <(werf ci-env gitlab)
werf build-and-publish|deploy
ืืขืจ ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืื ืื ืืืฆื ืืื ืื ืืึทืงืืืืขื ืืืืฉืึทื:
-
Directory โ ืืืกืืึทืืข (ืึทืจืืืกืืขืื) ; -
ืืจืืขืื ืืื ืกื / ืกื โ ืึทืืืขืืืื ืข ืืื ืคึฟืึธืจืืึทืฆืืข โ ืกืืึทืืขืก-ืืกืืืข ; -
ืื ืืขืืจืึทืืืึธื ืืื GitLab CI / CD โ .gitlab-ci.yml .
ืืื ืืึทื ืฅ
- ื ืืึท ืึธืคึผืฆืืข
werf publish --tag-by-stages-signature=true|false
. - ื ืืึท ืึธืคึผืฆืืข ืืืขืจื
werf ci-env --tagging-strategy=stages-signature|tag-or-branch
(ืืืื ื ืื ืกืคึผืขืกืืคืืขื, ืื ืคืขืืืงืืึทื ืืืขื ืืืืstages-signature
). - ืืืื ืืืจ ืคืจืืขืจ ืืขืืืืื ื ืื ืืึทืืื ื ืึธืคึผืฆืืขืก ืคึฟืึทืจ Git ืงืึทืืืฅ (
WERF_TAG_GIT_COMMIT
ืึธืืขืจ ืึธืคึผืฆืืขwerf publish --tag-git-commit COMMIT
), ืืื ืืืื ืืืืขืจ ืฆื ืืึทืฉืืืืขื ืฆื ืื ืืึทืืื ื ืกืืจืึทืืขืืืข ืกืืึทืืขืก-ืืกืืืข. - ืขืก ืืื ืืขืกืขืจ ืฆื ืืื ืืึทืฉืืืืขื ื ืืึท ืคึผืจืึทืืืฉืขืงืก ืฆื ืื ื ืืึท ืืึทืืื ื ืกืืขืืข.
- ืืืขื ืืจืึทื ืกืคืขืจืื ื ืฆื werf 1.1, ืขืก ืืื ืงืขืืืึทืืง ืฆื ืืึทืฉืืืืขื ืึทืื ืคึผืจืึทืืืฉืขืงืก ืฆื ืื ื ืืึท ืืึทืืื ื ืกืืขืืข, ืึธืืขืจ ืื ืึทืื. ืงืืืืื ืึธืืขืจ ืฆืืืืึทื ืืื ื ืึธื ืืขืฉืืืฆื.
ืืื ืืึทืื-ืืืืืจื ืืึทืืื ื ืกืึทืืืื ืึทืืข ืื ืคึผืจืึธืืืขืืก ืงืึทืืืขืจื ืืื ืืขื ืึทืจืืืงื:
- ืืึธืงืงืขืจ ืืึทื ื ืึธืืขื ืงืขืื ืฉืืขื ืฆื ืืืืืืง ืืื ืงืึทืืืฅ.
- ืจืืืืืืึทื ืก ืคืื ืื ืืึธืงืงืขืจ ืงืืืืื ื ืึธืืขื ืฆื Git ืงืึทืืืฅ ืึทื ืืืืฉื ืืขืงืขืก ืืจืขืืึทืืืึทื ื ืฆื ืื ืืืื.
- ืืื ื ืืฉื ืคืืจื ืฆื ืื ืคึผืจืึธืืืขื ืคืื ืึธืืืืขืจืืึธืืื ื ืื ืงืจืึทื ื ืืืขืจืกืืข ืคืื โโืื ืืืื ืืืขื ืจืืกืืึทืจืืื ื ืืืืขื ืคึฟืึทืจ ืึทืื Git ืงืึทืืืฅ ืคึฟืึทืจ Git ืฆืืืืืื.
ื ืืฆื ืขืก! ืืื ืืึธื ื ืื ืคืึทืจืืขืกื ืฆื ืืึทืืืื ืืื ืื ืืื
ืคึผืก
ืืืืขื ืขื ืืืื ืืืืฃ ืืื ืืืขืจ ืืืึธื:
- ยซ
werf 1.1 ืืขืืืื ื: ืืืคึผืจืืืืืึทื ืฅ ืฆื ืื ืืืืืขืจ ืืืึทื ื ืืื ืคึผืืึทื ื ืคึฟืึทืจ ืืขืจ ืฆืืงืื ืคึฟื ยป - ยซ
ืื ืืจืึธืืืืกืื ื werf 1.0 ืกืืึทืืื: ืืืึธืก ืืื GitOps ืืึธืื ืฆื ืืึธื ืืื ืืื, ืกืืึทืืืก ืืื ืคึผืืึทื ื ยป - ยซ
werf - ืืื ืืืขืจ ืืขืฆืืึทื ืคึฟืึทืจ ืกื / ืกื ืืื Kubernetes (ืืืขืจืืืืง ืืื ืืืืืขื ืืึทืจืืื) "; - ื ืกืขืจืืข ืคืื โโืืขืจืืช ืืืขืื ืื ืึธืืืืืืฉืึทื ื ืืื ืืืึธืจืฃ:
- ยซ
3-ืืืขื ืฆืื ืืืคืืืกื ืฆื ืืืึธืจืฃ: ืืืคึผืืืืืึทื ื ืฆื Kubernetes ืืื ืืขืื "ืืืืฃ ืกืืขืจืืืื" "; - ยซ
ื ืืฆื ืืืึธืจืฃ ืฆื ืจืึธืืื ืืืืก ืงืึธืืคึผืืขืงืก ืืขืื ืืฉืึทืจืฅ "; - ยซ
ืฉืืืฆื ืคึฟืึทืจ ืืึธื ืึธืจืขืคึผืึธ ืืื ืืืืืืจืขืคึผืึธ ืืื ืืืึธืจืฃ ืืื ืืืึธืก ืื ืืึธืงืงืขืจ ืจืขืืืกืืจื ืืื ืฆื ืืึธื ืืื ืืื "; - ยซ
ืืืจ ืงืขื ื ืืืฆื ืืืืขื ืืึธืงืงืขืจ ืืืืืขืจ ืืื ืืืึธืจืฃ ื ืืฆื ืึท ืจืขืืืืขืจ Dockerfile '.
- ยซ
ืืงืืจ: www.habr.com