Skip to content

Instantly share code, notes, and snippets.

@szymonrychu
Last active June 26, 2018 11:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save szymonrychu/13eb98222cb6a47ffa9abdaf27859d58 to your computer and use it in GitHub Desktop.
Save szymonrychu/13eb98222cb6a47ffa9abdaf27859d58 to your computer and use it in GitHub Desktop.
jobs:
build_rosmaster:
machine:
image: circleci/classic:edge
steps:
- checkout
- run:
name: Setup Environment
command: |
docker login -u ${DOCKER_USER} -p ${DOCKER_PASS}
- run:
name: Build docker container
command: |
docker build -t szymonrychu/k8s-ros-master:${CIRCLE_SHA1} -f Dockerfile_master .
- run:
name: Tag and push docker container
command: |
docker tag szymonrychu/k8s-ros-master:${CIRCLE_SHA1} szymonrychu/k8s-ros-master:latest
docker push szymonrychu/k8s-ros-master:${CIRCLE_SHA1}
docker push szymonrychu/k8s-ros-master:latest
test_on_k8s:
machine:
image: circleci/classic:edge
steps:
- checkout
- run:
name: spin up kubernetes docker image
command: |
curl -sSL "https://storage.googleapis.com/kubernetes-release/release/v1.3.0/bin/linux/amd64/kubectl" > ./kubectl
chmod +x ./kubectl
sudo mv kubectl /usr/local/bin/
git clone https://github.com/metral/nanokube
cd nanokube
sudo apt-get update > /dev/null 2>&1
sudo apt-get install linux-image-extra-$(uname -r) -y
sudo modprobe aufs
sudo su -c bash -c "PRIVATE_MASTER_IF=\"eth0\" ./nanokube.sh -t" &
until kubectl cluster-info | grep KubeDNS > /dev/null 2>&1 ; do sleep 1; done
- run:
name: do stuff with k8s
command: |
kubectl cluster-info
sed -i "s/CIRCLE_SHA1/${CIRCLE_SHA1}/g" master_deployment.yaml
kubectl apply -f master_deployment.yaml --namespace default
sleep 30
kubectl describe deployment rosmaster
workflows:
version: 2
build_and_push:
jobs:
- build_rosmaster
- test_on_k8s:
requires:
- build_rosmaster
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment