43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
sudo: required
|
|
|
|
language: bash
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- docker-ce
|
|
- w3m
|
|
- shellcheck
|
|
|
|
env:
|
|
global:
|
|
- IMAGE="alpine-sshd"
|
|
- IMAGE_NAME="${DOCKER_USER}/${IMAGE}"
|
|
|
|
before_script:
|
|
- sudo sysctl -w net.ipv4.ip_forward=1
|
|
- export ALPINE_VERSION="3.10"
|
|
- export OPENSSH_VERSION="$(w3m -dump "https://pkgs.alpinelinux.org/packages?name=openssh&branch=v${ALPINE_VERSION}" | grep -m 1 "x86" | awk '{print $2}')"
|
|
|
|
script: |
|
|
for i in *.sh ; do shellcheck $i ; done && \
|
|
docker build \
|
|
--no-cache \
|
|
--pull \
|
|
--quiet \
|
|
--build-arg ALPINE_VERSION="${ALPINE_VERSION}" \
|
|
--build-arg OPENSSH_VERSION="${OPENSSH_VERSION}" \
|
|
--tag "${IMAGE_NAME}:${OPENSSH_VERSION}-alpine${ALPINE_VERSION}" \
|
|
--tag "${IMAGE_NAME}:${OPENSSH_VERSION}-alpine" \
|
|
--tag "${IMAGE_NAME}:${OPENSSH_VERSION}" \
|
|
--tag "${IMAGE_NAME}:latest" \
|
|
--file "${TRAVIS_BUILD_DIR}/Dockerfile" \
|
|
"${TRAVIS_BUILD_DIR}"
|
|
if [[ "${TRAVIS_BRANCH}" == "master" ]] && [[ "${TRAVIS_PULL_REQUEST}" == "false" ]]; then
|
|
docker login -u "${DOCKER_USER}" -p "${DOCKER_PASSWORD}"
|
|
docker push "${IMAGE_NAME}:${OPENSSH_VERSION}-alpine${ALPINE_VERSION}"
|
|
docker push "${IMAGE_NAME}:${OPENSSH_VERSION}-alpine"
|
|
docker push "${IMAGE_NAME}:${OPENSSH_VERSION}"
|
|
docker push "${IMAGE_NAME}:latest"
|
|
fi
|