目录
Docker 桌面条款更新 : docker desktop在2022年要收费了,虽然对我没有影响,但是还是尝试有没有相应的替代品。
本文使用:minikube + docker + drone
minikube是一个快捷搭建k8s的工具,可以快速搭起一个单机器的k8s集群
brew install docker //注意 brew install --cask docker 这个安装的是docker Desktop
brew install hyperkit //OSX上运行的轻量级虚拟化工具
brew install kubectl //k8s命令行工具
brew install minikube
minikube config set cpus 3
minikube config set memory 6g
minikube start --kubernetes-version=v1.19.14 --driver=hyperkit --container-runtime=docker
eval $(minikube docker-env)
minikube dashboard // 可以看见k8s 的pod ,deployment,service。目前用不到
minikube ssh //这个命令有用,进入虚拟机环境
先在github或gitee申请一个autos,用来获得仓库的权限。
先minikube ssh进入虚拟机环境
docker pull drone/drone:2
docker run \
--volume=/var/lib/drone:/data \
--env=DRONE_GITHUB_CLIENT_ID={oauth 的clientId} \
--env=DRONE_GITHUB_CLIENT_SECRET={oauth 的secretId} \
--env=DRONE_RPC_SECRET={随便 也可以生成一个openssl rand -hex 16}\
--env=DRONE_SERVER_HOST={这填minikube ip的地址,这个地方如果不填外网ip或域名,在使用drone会有坑} \
--env=DRONE_SERVER_PROTO=http \
--publish=80:80 \
--publish=443:443 \
--restart=always \
--detach=true \
--name=drone \
drone/drone:2
启动drone服务器 ,这个时候就可以本地输入minikube ip地址就可以看见drone了
docker pull drone/drone-runner-docker:1
docker run --detach \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--env=DRONE_RPC_PROTO=http \
--env=DRONE_RPC_HOST={这个需和 drone server的写的一样 } \
--env=DRONE_RPC_SECRET={这个需和 drone server的写的一样} \
--env=DRONE_RUNNER_CAPACITY=2 \
--env=DRONE_RUNNER_NAME=my-first-runner \
--publish=3000:3000 \
--restart=always \
--name=runner \
drone/drone-runner-docker:1
index.js
console.log("简单测试管线");
.drone.yml
kind: pipeline
type: docker
name: default
steps:
- name: test
image: node
commands:
- node index.js
补充:
https://itnext.io/goodbye-docker-desktop-hello-minikube-3649f2a1c469
Replacing Docker Desktop with hyperkit + minikube - Cirrus Minor