Á˽⣺CI&CDÎļþ½éÉÜ - Î÷ºçÊÐÍø - Powered by Discuz!

Î÷ºçÊÐÍø

±êÌâ: Á˽⣺CI&CDÎļþ½éÉÜ [´òÓ¡±¾Ò³]

×÷Õß: guozhiwei    ʱ¼ä: 2022-4-30 11:55
±êÌâ: Á˽⣺CI&CDÎļþ½éÉÜ

¡¡¡¡¸ÅÊö


¡¡¡¡DevOpsÏà¹ØÎļþÖ÷ÒªÓÐDockerfile¡¢Jenkinsfile¡¢deployment.yaml¡¢kustomization.yaml¡¢settings.xml¡£ÖÆÆ·¿âÒ»Ö±ÊÇÐÐÒµµÄٮٮÕߣ¬ÔÚÒµÄÚºÃÆÀÈç³±£¬±¸ÊÜ´óÖÚËùÇàíù¡£

¡¡¡¡ÕâЩÎļþ´æ·ÅÔÚCICD´úÂë¿âÖС£

¡¡¡¡µØÖ·£ºhttps://gitlab.corp.yatsenglobal.com/ops/yatsen-cicd-pipeline.git

¡¡¡¡´úÂëĿ¼½á¹¹

¡¡¡¡Æä×÷Ó÷ֱðΪ£º

¡¡¡¡Îļþ        ×÷Óà       Ïêϸ

¡¡¡¡Dockerfile        ÓÃÓÚ¹¹½¨¾µÏñ        ¹¹½¨¾µÏñ±ØÐ룬APIµÈ²»ÐèÒª²¿ÊðµÄÏîÄ¿ÎÞÐè´ËÎļþ

¡¡¡¡Jenkinsfile        ÓÃÓÚʹÓÃJenkins¿ØÖÆÕû¸ö¹¹½¨²¿Êð¹ý³Ì        ´ËÎļþ±ØÐë

¡¡¡¡deployment.yaml        ÓÃÓÚÔÚk8s¼¯Èº²¿ÊðÓ¦Óà       ÐèÒª×ÔÓÉ¿ØÖÆÔÚk8sÖв¿ÊðµÄÓ¦ÓÃʱ£¬¿ÉÒÔ±àд´ËÎļþ

¡¡¡¡kustomization.yaml        ÎļþÉùÃ÷ÁËkustomize³ÌÐòÌṩµÄ×Ô¶¨Òå        ÌṩһÖÖ¿ÉÒÔÖØ¸´Ê¹ÓÃͬһÌ×ÅäÖõÄÉùÃ÷ʽӦÓùÜÀí

¡¡¡¡settings.xml        ÓÃÓÚÔÚJava Maven¹¹½¨¹ý³ÌÖеÄMaven settingÉèÖà       JavaÓ¦ÓñàÒëʱ£¬ÐèÒªÓõ½

¡¡¡¡»ù´¡JAVA¾µÏñ

¡¡¡¡»ù´¡Java¾µÏñΪJavaÓ¦ÓõĻù´¡Ó¦Óã¬ÊÇÔÚcentos7.6¾µÏñÖ®ÉϹ¹½¨µÄ£¬ÆäÖв½ÖèÖ÷ÒªÓУº

¡¡¡¡Ô´¾µÏñ¡¢»·¾³³õʼ»¯¡¢Ìí¼Ó×ÖÌå¡¢Ìí¼ÓnacosÍ˳ö½Å±¾¡¢Ìí¼ÓsshÃâÃܵǼ¡¢ÐÞ¸ÄÊ±Çø¡¢¸üÐÂϵͳ¡¢Ìí¼ÓJava»·¾³¡£

¡¡¡¡»ù´¡Java¾µÏñ°üº¬Á˳ý¿ÉÖ´ÐÐJar°ü¼°ÌØÊâÅäÖÃÖ®ÍâµÄËùÓÐÉèÖã¬Ê¹JavaÓ¦ÓÃÔÚϲãµÃµ½Í³Ò»£¬¾ßÌå½Å±¾ÈçÏ£º

¡¡¡¡FROM centos:7.6.1810

¡¡¡¡LABEL maintainer yatsen@yatsenglobal.com

¡¡¡¡COPY nacos-logout.sh /

¡¡¡¡COPY eureka-logout.sh /

¡¡¡¡COPY simsun.ttf /usr/share/fonts/myfonts/simsun.ttf

¡¡¡¡COPY ip_guard.sh ip_guard.sh

¡¡¡¡COPY id_rsa /root/.ssh/

¡¡¡¡COPY id_rsa.pub /root/.ssh/

¡¡¡¡COPY known_hosts /root/.ssh/

¡¡¡¡RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

¡¡¡¡&& rm -rf /etc/yum.repos.d/*

¡¡¡¡&& curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

¡¡¡¡&& curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

¡¡¡¡&& sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/*

¡¡¡¡&& yum makecache -y

¡¡¡¡&& yum upgrade -y

¡¡¡¡&& yum install -y java-1.8.0-openjdk-devel.x86_64 iproute kde-l10n-Chinese glibc-common mkfontscale fontconfig openssh openssh-clients rsync less

¡¡¡¡&& localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

¡¡¡¡&& yum clean all

¡¡¡¡&& chmod +x ip_guard.sh

¡¡¡¡&& chmod 600 /root/.ssh/id_rsa

¡¡¡¡&& chmod 777 nacos-logout.sh eureka-logout.sh

¡¡¡¡&& cd /usr/share/fonts/myfonts

¡¡¡¡&& mkfontscale

¡¡¡¡&& mkfontdir

¡¡¡¡&& fc-cache -fv

¡¡¡¡ENV LC_ALL=zh_CN.UTF-8 TIMEZONE=GMT+8 JAVA_OPTS=CONTAINER_CORE_LIMIT=

¡¡¡¡ËùÐèÎļþÈçÏÂ

¡¡¡¡»ù´¡Nginx¾µÏñ

¡¡¡¡Ä¿Ç°Ç°¶Ë´úÂë±àÒëΪ¾²Ì¬Îļþºó·ÅÔÚnginxÏÂÌṩ·þÎñ£¬ËùÒÔ±àдÁË»ù´¡nginx¾µÏñ£¬Õë¶Ôǰ¶Ë¾²Ì¬´úÂëÎļþÌṩͳһµÄ»ù´¡¾µÏñ¡£

¡¡¡¡»ù´¡nginx¾µÏñÀ´Ô´ÓÚϵͳnginx¾µÏñ£¬²¢ÐÞ¸ÄÁËÊ±Çø£¬Ìí¼ÓÁË×Ô¶¨Òånginx.conf¡£¾ßÌå½Å±¾ÈçÏ£º

¡¡¡¡¡¾FROM nginx:latest¡¿ ±íÊ¾ÒªÖÆ×÷µÄ¾µÏñµÄÔ´¾µÏñ

¡¡¡¡RUNÃüÁî×ö»·¾³³õʼ»¯£¬ÐÞ¸ÄÁËÊ±Çø¡£

¡¡¡¡¡¾COPY base/base-nginx/nginx.conf /etc/nginx/nginx.conf¡¿ÎªÌí¼ÓÁË×Ô¶¨Òånginx.conf

¡¡¡¡FROM nginx:latest

¡¡¡¡LABEL maintainer sheng.zhuang@yatsenglobal.com

¡¡¡¡RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

¡¡¡¡COPY base/base-nginx/nginx.conf /etc/nginx/nginx.conf

¡¡¡¡JavaÓ¦ÓþµÏñ£º

¡¡¡¡JavaÓ¦ÓþµÏñΪ×îÖÕ¿ÉÖ´ÐеľµÏñ£¬À´Ô´ÓÚ»ù´¡Java¾µÏñ£¬°üº¬Í¬ÊÂÃÇÐÁ¿à±àдµÄJava´úÂë±àÒëµÄ¿ÉÖ´ÐÐJar°ü£¬²¢×îÖÕÔËÐÐÔÚk8sÈÝÆ÷¹ÜÀí¹¤¾ßÖÐΪ¿Í»§Ìṩ·þÎñ¡£

¡¡¡¡JavaÓ¦ÓþµÏñ²¢²»ÊDZØÐëÀ´Ô´ÓÚ»ù´¡Java¾µÏñ£¬ÖÆ×÷»ù´¡Java¾µÏñÊÇΪÁËͳһ»·¾³£¬¼ò»¯¿ª·¢¡£

¡¡¡¡JavaÓ¦ÓþµÏñ¾ßÌå½Å±¾ÈçÏ£º

¡¡¡¡ARG BASE_IMAGE=yatsen-registry-vpc.cn-shenzhen.cr.aliyuncs.com/base/base-java:centos7.6-jdk-8

¡¡¡¡FROM ${BASE_IMAGE}

¡¡¡¡LABEL maintainer=dang.wu@yatsenglobal.com

¡¡¡¡ENV spring_profiles_active=dev spring_cloud_nacos_discovery_namespace=${NACOS_NAMESPACE} spring_cloud_nacos_config_namespace=${NACOS_NAMESPACE} NACOS_HOST=${NACOS_HOST} NACOS_PORT=${NACOS_PORT} server_port=${SERVER_PORT}

¡¡¡¡COPY mall-activity-biz/target/mall-activity-biz.jar app.jar

¡¡¡¡ENV server_name mall-activity-biz

¡¡¡¡RUN mkdir -p /releases/releases/cert/

¡¡¡¡ENTRYPOINT java ${JAVA_OPTS} -Dfile.encoding=utf-8 -Dspring.security.strategy=MODE_INHERITABLETHREADLOCAL -Djava.security.egd=file:/dev/http://www.manongjc.com/detail/urandom -XX:ActiveProcessorCount=${CONTAINER_CORE_LIMIT} -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -XX:MinRAMPercentage=70.0 -jar app.jar --spring.profiles.active=${spring_profiles_active} --NACOS-HOST=${NACOS_HOST} --NACOS-PORT=${NACOS_PORT}

¡¡¡¡Ç°¶ËnginxÓ¦ÓþµÏñ£º

¡¡¡¡Ç°¶ËnginxÓ¦ÓþµÏñΪ¿ÉÖ´ÐеÄnginx¾µÏñ¼ÓÉÏǰ¶Ë´úÂë¼°ÅäÖÃËù¹¹½¨µÄ¾µÏñ¡£°üº¬Ç°¶ËͬÊÂÃÇÐÁ¿à±àдµÄǰ¶Ë´úÂë±àÒëµÄ¾²Ì¬Îļþ£¬²¢×îÖÕÔËÐÐÔÚk8sÈÝÆ÷¹ÜÀí¹¤¾ßÖÐΪ¿Í»§Ìṩ·þÎñ¡£

¡¡¡¡Ç°¶Ë¾µÏñ¾ßÌå½Å±¾ÈçÏ£¨Ä¿Ç°Ç°¶Ë¾µÏñ·ÖÁ½´Î¹¹½¨£¬ºóÆÚ»áÓÅ»¯ÎªÒ»´Î¹¹½¨£©£º

¡¡¡¡ARG BASE_IMAGE=yatsen-registry-vpc.cn-shenzhen.cr.aliyuncs.com/base/nginx:latest

¡¡¡¡FROM ${BASE_IMAGE}

¡¡¡¡LABEL maintainer sheng.zhuang@yatsenglobal.com

¡¡¡¡RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

¡¡¡¡COPY base/base-admin-nginx/default.conf /etc/nginx/conf.d/default.conf

¡¡¡¡RUN mkdir -p /var/log/nginx/

¡¡¡¡COPY dist/ /data/www/mall-web-admin

¡¡¡¡Jenkinsfile£º

¡¡¡¡JenkinsfileÊÇJenkinsÁ÷Ë®ÏßPipelineµÄ¹¹½¨´úÂë½Å±¾¡£½«Jenkins¹¹½¨ÈÎÎñÓôúÂëµÄÐÎʽ½øÐйÜÀíºÍά»¤¡£Ï·½¹¹½¨È¨ÏÞ¸ø¿ª·¢Õß¡£

¡¡¡¡Jenkinsfile³£Ó÷½Ê½½«Á÷Ë®Ïß·Ö°´ÕÕ¹¦ÄÜ·ÖΪÂß¼­ÉϵÄËĶΣºÁ÷Ë®Ïß¼ì²é¡¢³õʼ»¯¡¢À­È¡´úÂ루Git£©¡¢±àÒë¹¹½¨£¨Package£©¡¢ÖÆ×÷¾µÏñ(Build) ¡¢²¿Êð(Deploy)£¬ÈçÏÂËùʾ£º

¡¡¡¡ºó¶Ë£º

¡¡¡¡@Library('yatsen-cicd-pipeline') _

¡¡¡¡pipeline {

¡¡¡¡agent {

¡¡¡¡kubernetes {

¡¡¡¡#ÔÚjenkins Configure CloudsÖÐÅäÖõÄÃû×Ö

¡¡¡¡cloud 'kubernetes'

¡¡¡¡}

¡¡¡¡Ç°¶Ë£º

¡¡¡¡ÆÕͨǰ¶Ë

¡¡¡¡@Library('yatsen-cicd-pipeline') _

¡¡¡¡pipeline {

¡¡¡¡agent {

¡¡¡¡kubernetes {

¡¡¡¡#ÔÚjenkins Configure CloudsÖÐÅäÖõÄÃû×Ö

¡¡¡¡cloud 'kubernetes'

¡¡¡¡}

¡¡¡¡¹²Ïíǰ¶Ë

¡¡¡¡@Library('yatsen-cicd-pipeline') _

¡¡¡¡pipeline {

¡¡¡¡agent {

¡¡¡¡kubernetes {

¡¡¡¡#ÔÚjenkins Configure CloudsÖÐÅäÖõÄÃû×Ö

¡¡¡¡cloud 'kubernetes'

¡¡¡¡}

¡¡¡¡}

¡¡¡¡ÉÏÊöJenkinsʹÓõŤ¾ß½âÎö£º

¡¡¡¡´ò°ü¾µÏñ²¢ÇÒÍÆË;µÏñµ½¾µÏñ²Ö¿âÓõÄÃüÁîÊÇ:

¡¡¡¡kaniko

¡¡¡¡²Î¿´Îĵµ£ºhttps://github.com/GoogleContainerTools/kaniko#using-kaniko

¡¡¡¡²¿ÊðʹÓõÄÃüÁîÊÇ

¡¡¡¡kustomize

¡¡¡¡²Î¿¼Îĵµ£º

¡¡¡¡https://www.qikqiak.com/post/kustomize-101/

¡¡¡¡https://github.com/kubernetes-sigs/kustomize

¡¡¡¡https://kustomize.io/

¡¡¡¡Ô­ÎĵØÖ·£ºhttps://www.cnblogs.com/Mr-Axin/p/14744653.html
×÷Õß: ÀÏÊó°®Ã¨    ʱ¼ä: 2022-5-27 09:43
ɳ·¢£¡É³·¢!
×÷Õß: ÀÍÁ¦Ë¹    ʱ¼ä: 2022-7-2 10:10
ѧϰÁË£¬Ð»Ð»·ÖÏí¡¢¡¢¡¢
×÷Õß: ºÃÈËÄãÎÒËû    ʱ¼ä: 2022-8-14 17:56
ûÊÂÎÒ¾ÍÀ´¿´¿´£¬¹þ¹þ£¡
×÷Õß: СÁÖÆæ½Ü    ʱ¼ä: 2022-10-13 09:03
²ýƽµÄÍøÉϼÒÔ° ¹þ¹þ ƽ̨²»´í°¡
×÷Õß: Ìúľտ    ʱ¼ä: 2022-12-4 19:30
ºÃºÃ ѧϰÁË È·Êµ²»´í
×÷Õß: °¢ÐÞ    ʱ¼ä: 2022-12-21 14:55
ÓоºÕù²ÅÓнø²½Âï




»¶Ó­¹âÁÙ Î÷ºçÊÐÍø (http://bbs.xihong021.cn/) Powered by Discuz! X3