看情况。
比如我们是 go 写的。玩了提交到 git,然后 ci 收到 trigger 后开始 build image。然后直接 push 到线上。因为有编译过程,并且顺便加以测试,那么对我而言最方便的方法就是写个 dockerfile
FROM golang:1.11 as builder
COPY .
/go/src/some/path
RUN
build-scripts.sh...
FROM scratch
COPY --from=builder
/go/src/some/path/my-bin /my-bin
CMD ["/my-bin"]
然后丢 k8s 或者放哪里都很方便。
但是这会有一点延迟。
要是是纯 php,其实只需要容器加代码就好。
那么就把 php-fpm 事先 build 好基础环境,然后 docker-compose.yml 里面用 volumes 即可,如下:
version: '3'
services:
php:
image: php:7.2-apache
ports:
- 8088:80
volumes:
- ./local-src:/var/www/html