runner 
                  
                  
                  Проект собирается в два этапа : 
                  
                  
                  1) сборка артефакта в базовом образе 
                  
                  
                  project: {{ env "CI_PROJECT_NAME" }}
                  
                  
                  configVersion: 1
                  
                  
                  ---
                  
                  
                  image: go-build
                  
                  
                  from: {{ $base_image }}
                  
                  
                  mount:
                  
                  
                    - from: build_dir
                  
                  
                      to: /go/pkg/mod
                  
                  
                  git:
                  
                  
                    - add: /
                  
                  
                      to: /app
                  
                  
                      excludePaths:
                  
                  
                        - '.helm'
                  
                  
                        - 'werf.yaml'
                  
                  
                        - 'werf-giterminism.yaml'
                  
                  
                        - '.gitlab-ci.yml'
                  
                  
                        - 'README.md'
                  
                  
                      stageDependencies:
                  
                  
                        install:
                  
                  
                          - "*"
                  
                  
                  shell:
                  
                  
                    install:
                  
                  
                      - go build -o project
                  
                  
                  
                  
                  
                  2) импорт артефакта в рантайм образ
                  
                  
                  
                  
                  
                  image: {{ env "CI_PROJECT_NAME" }}
                  
                  
                  from: {{ $run_image }}
                  
                  
                  docker:
                  
                  
                    WORKDIR: /app
                  
                  
                    USER: root
                  
                  
                    ENTRYPOINT: ["/app/project"]
                  
                  
                    CMD: ["service", "start"]
                  
                  
                  shell:
                  
                  
                  import:
                  
                  
                    - image: go-build
                  
                  
                      add: /app/project
                  
                  
                      to: /app/project
                  
                  
                      after: install
                  
                  
                  
                  
                  
                  в манифесте деплое версия коммита меняется, а сам образ старый остаётся. Изменения точно вносились в файлы, которые werf должен был проверить при сборке. При дебаге
                  
                  
                  
                  
                  
                  "Images": {
                  
                  
                  2m9.30580719 │     "payments": {
                  
                  
                  
                  
                  
                  "Rebuilt": false },
                  
                  
                  
                  
                  
                  "go-build": {
                  
                  
                  "Rebuilt": true,
                  
                  
                  
                  
                  
                  То есть в сборщике образ пересобрался, а рантайм образ брался с кэша.
                  
                  
                  
                  
                  
                  Временно вышел из положения:
                  
                  
                  -    add: /app/project
                  
                  
                  -    to: /app/project
                  
                  
                  +    add: /app
                  
                  
                  +    to: /app
                  
                  
                  
                  
                  
                  неужели хэш собранного бинарника совпадал?
                  
                  
                  
                  
                  
                  У меня так полторы сотни проектов собирается , проблем не было 🧐
                  
                  
                
Стикер
https://t.me/werf_ru/23240 Проверьте чексумму файла в образе, из которого происходит импорт. Похоже на то, что бинарник не меняется между сборками.
There is now support for more beautiful code blocks with syntax highlighting, copying of the entire block with code by clicking on its title and the ability to specify the programming language for a block of code using ```language syntax.
Обсуждают сегодня