Trình chạy GitLab dường như chưa hoạt động trên Windows và có một vấn đề mở để giải quyết vấn đề này .
Vì vậy, trong thời gian chờ đợi, tôi đang chuyển mã tập lệnh của mình sang một tập lệnh bash, mà tôi có thể dễ dàng ánh xạ tới một vùng chứa docker đang chạy cục bộ và thực thi.
Trong trường hợp này, tôi muốn xây dựng một vùng chứa docker trong công việc của mình, vì vậy tôi tạo một tập lệnh 'build':
#!/bin/bash
docker build --pull -t myimage:myversion .
trong .gitlab-ci.yaml của tôi, tôi thực thi tập lệnh:
image: docker:latest
services:
- docker:dind
before_script:
- apk add bash
build:
stage: build
script:
- chmod 755 build
- build
Để chạy tập lệnh cục bộ bằng powershell, tôi có thể bắt đầu hình ảnh cần thiết và ánh xạ ổ đĩa với các tệp nguồn:
$containerId = docker run --privileged -d -v ${PWD}:/src docker:dind
cài đặt bash nếu không có:
docker exec $containerId apk add bash
Đặt quyền trên tập lệnh bash:
docker exec -it $containerId chmod 755 /src/build
Thực thi tập lệnh:
docker exec -it --workdir /src $containerId bash -c 'build'
Sau đó dừng vùng chứa:
docker stop $containerId
Và cuối cùng là dọn dẹp thùng chứa:
docker container rm $containerId