- jenkins部署
wegt https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
nohup java -jar jenkins.war --httpPort=7080 --prefix=/ --controlPort=7081 &
nohup java -DJENKINS_HOME=/home/apps/jenkins_home -jar jenkins.war --httpPort=7080 --prefix=/ --controlPort=7081 &
- 项目部署shell脚本:
#!/bin/bash
source /etc/profile
cd /data/workspace
if [[ "`ls /data/workspace`" =~ "${HIPS_MODULE}" ]];then
rm -rf /data/workspace/${HIPS_MODULE}
git clone -b ${HIPS_BRANCH} git@code.choerodon.com.cn:mobile-center-hippius/${HIPS_MODULE}.git
else
git clone -b ${HIPS_BRANCH} git@code.choerodon.com.cn:mobile-center-hippius/${HIPS_MODULE}.git
fi
cd /data/workspace/${HIPS_MODULE}
mvn clean package -Dmaven.javadoc.skip=true
if [ -f target/app.jar ]
then
echo "****打包成功****"
cp target/app.jar src/main/docker/app.jar
#配置镜像仓库地址,仓库名称,应用名称
export DOCKER_REGISTRY=192.168.16.144:30003
export PROJECT_NAME=hips-dev
export APPLICATION_NAME=$(basename "$PWD")
export IMAGE_TAG=`date +%Y%m%d%H%M`
echo "======================="
echo "本次构建镜像版本号: $IMAGE_TAG"
echo "本次构建镜像版本号1: ${DOCKER_REGISTRY}/${PROJECT_NAME}/${APPLICATION_NAME}:${IMAGE_TAG}"
echo "本次构建镜像版本号2:${APPLICATION_NAME} ${APPLICATION_NAME}=${DOCKER_REGISTRY}/${PROJECT_NAME}/${APPLICATION_NAME}:${IMAGE_TAG}"
# 构建并推送镜像
#docker build --pull -t 192.168.16.144:30003/hips-dev/hippius-app-manage:202204191259 src/main/docker
docker build --pull -t ${DOCKER_REGISTRY}/${PROJECT_NAME}/${APPLICATION_NAME}:${IMAGE_TAG} src/main/docker
docker push ${DOCKER_REGISTRY}/${PROJECT_NAME}/${APPLICATION_NAME}:${IMAGE_TAG}
docker rmi ${DOCKER_REGISTRY}/${PROJECT_NAME}/${APPLICATION_NAME}:${IMAGE_TAG}
# 更新k8s镜像
ssh 192.168.16.144 kubectl -n isrm-dev set image deploy ${APPLICATION_NAME} ${APPLICATION_NAME}=${DOCKER_REGISTRY}/${PROJECT_NAME}/${APPLICATION_NAME}:${IMAGE_TAG}
#ssh 192.168.16.144 kubectl -n isrm-dev set image deploy hippius-app-manage hippius-app-manage=192.168.16.144:30003/hips-dev/hippius-app-manage:202204191308
else
echo "******打包失败******"
exit 1
fi
- Linux git\maven安装部署
#git安装
yum install git
#免登录
ssh-keygen -t rsa -C "1019@qq.com"
#新建git工程目录
mkdir -p /data/workspace
#下载maven
https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
#解压
tar -zxvf apache-maven-3.8.5-bin.tar.gz
#配置环境变量
vi /etc/profile
export MAVEN_HOME=/usr/local/src/jenkins/apache-maven-3.8.5
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
mvn -version
#注释:/usr/local/src/jenkins/apache-maven-3.8.5/conf/setting.xml
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
- 服务器ssh免登
#免登录 上面已经执行,不需要重复,否则有问题
ssh-keygen -t rsa -C "1019@qq.com"
yum install -y openssh-clients
ssh-copy-id root@192.168.16.145
#测试
ssh 192.168.16.145
4.配置执行参数、选项参数-服务名称 、文本参数-git分支
前端:
- 环境安装
yum -y install yarn
yarn
wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
yum -y install yarn
wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz
tar -xf node-v14.15.4-linux-x64.tar.xz
mv node-v14.15.4-linux-x64 /usr/local/node
cd /usr/bin
ln -s /usr/local/node/bin/node node
ln -s /usr/local/node/bin/npm npm
node -v
npm install lerna -g
-
配置
- 配置shell
#!/bin/bash
source /etc/profile
export workSpace=/data/workspace
export cacheDir=/data/workspace/cache
export DOCKER_REGISTRY=192.168.16.144:7129
export GROUP_NAME=hips-dev
export IMAGE_TAG=`date +%Y%m%d%H%M`
cd ${workSpace}
rm -rf ${PROJECT_NAME}
git clone -b ${branch} git@code.choerodon.com.cn:mobile-center-hippius/${PROJECT_NAME}.git
cd ${workSpace}/${PROJECT_NAME}
node_module(){
mkdir -p ${cacheDir}
# npm config set registry https://registry.npm.taobao.org
yarn install
}
node_build(){
# echo ""
# npm config set registry https://registry.npm.taobao.org
# yarn run build
npm run build
}
cache_dist(){
cp -r dist ${cacheDir}/dist
# mv * ${cacheDir}/
}
docker_build(){
cp -r ${cacheDir}/* ${1:-"."}
docker build --pull -t ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${IMAGE_TAG} .
docker push ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${IMAGE_TAG}
echo "${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${IMAGE_TAG}"
}
node_module
node_build
cache_dist
docker_build
docker rmi ${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${IMAGE_TAG}
# 更新k8s镜像
kubectl -n hips-dev set image deploy ${PROJECT_NAME} ${PROJECT_NAME}=${DOCKER_REGISTRY}/${GROUP_NAME}/${PROJECT_NAME}:${IMAGE_TAG}