This commit is contained in:
2022-04-18 11:21:20 +08:00
commit 45a7af638f
210 changed files with 8997 additions and 0 deletions

53
ops/Dockerfile Normal file
View File

@@ -0,0 +1,53 @@
ARG ARCH
FROM harbor.colben.cn/general/jdk$ARCH:8
MAINTAINER Colben colbenlee@gmail.com
ADD --chown=root:root /ADD/ /opt/
ENV MAVEN_HOME=/opt/maven
ENV PATH=${MAVEN_HOME}/bin:$PATH
RUN tdnf makecache \
&& tdnf -y install git openssh-clients \
&& mkdir -m 0600 /root/.ssh \
&& echo '-----BEGIN OPENSSH PRIVATE KEY-----\n\
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\n\
-----END OPENSSH PRIVATE KEY-----\n\
' > /root/.ssh/id_rsa \
&& echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC04I1mnqAoFTvfvHMzNJKlOEPEMELH0PmFDdE55bV6mz73EE1DqcHFZd/mUmcxtA8YtikDIJ+Ee2dK/uVRYJ19I/rxO3Mk/B+onl+ivH8p2VGzQowsCKyO+doNB6ogDBaBfK3QCx2byxhHtIdsF/2fgzIFf+qEGKYjh4ezEs11eJsxQxdrQbmnO02wuH3Ur6JBbLPi6XnFb2JMU7KpG2WOdf2pLpq2Td2Pl9OJBExOWaoB5XlgzuYFqySGxljj+6AFLszTuBEDXDHMNnnM1H67RehJVy7LF5806QYfEeTWo9mzFiWL85Ta9r/remUjPMJu5tEr/f4kwtwmwsvu25QahBULH8WifRN3qen1gOOGWJphSRCEWI5lsiHypMDoBNSZNFsBnbqQAXlxWoJ0u0ROSXgxheEF4xFFREv/Qq4QVqxkOAjJ/J6zAEdQ8bz/iNzK1B48HlWyapvf8MuLPZb5toSM8mhNu3LviwfOWl4ueP4oweGqjCs2f/jeMKr0gA8= root@ops\n\
' > /root/.ssh/id_rsa.pub \
&& chmod 0600 /root/.ssh/id_rsa \
&& rm -rf /var/cache/tdnf

9
ops/README.md Normal file
View File

@@ -0,0 +1,9 @@
# 构建运维镜像
## 导入文件
- [下载 apache-maven-$VERSION-bin.tar.gz](https://archive.apache.org/dist/maven/maven-3/)
## 定制
- ops.sh: 构建 ops 镜像
- 设置 maven 环境变量

72
ops/ops.sh Executable file
View File

@@ -0,0 +1,72 @@
#!/bin/bash
#=========================================
# Author : colben
#=========================================
set -euo pipefail
export LANG=en_US.UTF-8
trap Quit EXIT
[ 'x86_64' == "$(uname -m)" ] && ARCH='' || ARCH="-$(uname -m)"
ROOT_DIR="$(cd $(dirname $0) && pwd)"
IMAGE="harbor.colben.cn/general/ops$ARCH:latest"
if [ -t 0 ]; then
function Print { echo -e "\033[36;1m$(date +'[%F %T]')\033[32;1m $*\033[0m"; }
function Warn { echo -e "\033[36;1m$(date +'[%F %T]')\033[33;1m $*\033[0m"; }
function Error { echo -e "\033[36;1m$(date +'[%F %T]')\033[31;1m $*\033[0m"; exit 1; }
else
function Print { echo -e "$(date +'[%F %T INFO]') $*"; }
function Warn { echo -e "$(date +'[%F %T WARN]') $*"; }
function Error { echo -e "$(date +'[%F %T ERROR]') $*"; exit 1; }
fi
function Quit {
local exitCode=$?
[ 0 -ne $exitCode ] && Error Failed to build or push image!
[ -z "${END:-}" ] && echo && Error Interrupted manually!
Print Succeeded to build and push image.
}
function YesOrNo {
Warn $*
local sw=
while :; do
read -p '(Yes/No/Quit) ' -n1 sw
[[ "$sw" =~ ^Y|y$ ]] && echo && return 0
[[ "$sw" =~ ^N|n$ ]] && echo && return 1
[[ "$sw" =~ ^Q|q$ ]] && echo && exit 0
[ -n "$sw" ] && echo
done
}
function Update {
Warn Preparing maven ...
cd $ROOT_DIR
rm -rf ADD && mkdir ADD
cd ADD
tar zxf $(ls /release/RUNTIME/apache-maven-*-bin.tar.gz|tail -1)
mv apache-maven-3.6.3 maven
}
function Build {
local yn
cd $ROOT_DIR
docker images --format='{{.Repository}}:{{.Tag}}' | grep "^$IMAGE$" \
&& Warn Removing image $IMAGE ... \
&& docker rmi $IMAGE
Warn Building image: $IMAGE ...
docker build --force-rm --build-arg ARCH="$ARCH" -t $IMAGE .
YesOrNo Push image: $IMAGE? && docker push $IMAGE
}
function Main {
Update
Build
END=1
}
# Start here
Main