美文网首页
jenkins项目部署

jenkins项目部署

作者: 小小的小帅 | 来源:发表于2022-04-19 13:38 被阅读0次
  1. 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 &
  1. 项目部署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
  1. 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分支


image.png
image.png

前端:

  • 环境安装
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
  • 配置


    image.png
image.png
  • 配置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}

相关文章

网友评论

      本文标题:jenkins项目部署

      本文链接:https://www.haomeiwen.com/subject/miusertx.html