Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
jenkins+dockerʵÏÖ×Ô¶¯±àÒë¡¢´ò°ü¡¢¹¹½¨¾µÏñ¡¢ÈÝÆ÷²¿Êð
 
×÷Õߣº FinelyYang
  3232  次浏览      32
 2020-7-16
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËÕû¸ö³ÖÐø¼¯³É¡¢×Ô¶¯²¿ÊðÁ÷³ÌÒÔ¼°jenkinsºÍ·þÎñÆ÷Èí¼þµÄ»µ¾³ÅäÖ㬲¢Í¨¹ý½â¾öÓöµ½µÄÒì³££¬Íê³É²âÊÔ£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚCSDN£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

Ò»¡¢Õû¸ö³ÖÐø¼¯³É¡¢×Ô¶¯²¿ÊðÁ÷³Ì

¿ª·¢push´úÂëµ½gitlab£¬´¥·¢jenkins×Ô¶¯pull´úÂ룬ͨ¹ýmaven±àÒë¡¢´ò°ü£¬È»ºóͨ¹ýÖ´ÐÐshell½Å±¾Ê¹docker¹¹½¨¾µÏñ²¢pushµ½Ë½·þ£¨»òÕß°¢ÀïÔÆ£©²Ö¿â£¬´Ë²Ù×÷Íê³Éºójenkins·þÎñÆ÷ÉÏÔÙÖ´ÐÐSSHÃüÁîµÇ¼µ½²¿Êð·þÎñÆ÷£¬docker´Ó²Ö¿â£¨Ë½·þ£©À­È¡¾µÏñ£¬Æô¶¯ÈÝÆ÷¡£Õû¸ö²Ù×÷Á÷³ÌÍê³É¡£

¶þ¡¢·þÎñÆ÷Èí¼þ»·¾³ÅäÖÃ

ÓÉÓÚÌõ¼þËùÏÞ£¬¹ÊÖ»ÓÃÁ½Ì¨»úÆ÷×÷Ϊ´î½¨»·¾³¡£

Èý¡¢jenkinsÅäÖÃ

3.1 °²×°²å¼þ

SSH£ºÓÃÓÚSSHÔ¶³ÌDockerÖ÷»úÖ´ÐÐShellÃüÁî

3.2 Ìí¼ÓSSHÔ¶³ÌÖ÷»ú

Ìí¼Ó·ÃÎÊµÄÆ¾¾Ý£º

ϵͳ¹ÜÀí-ϵͳÅäÖÃ

3.3 ¿ªÆôDocker Remote API

ÔÚ192.168.1.121ÉÏÖ´ÐУº

vim /lib/systemd/system/docker.service

ÖØÐ¼ÓÔØÅäÖÃÎļþ

systemctl daemon-reload
systemctl restart docke

¿ªÆô·À»ðǽµÄ¶Ë¿Ú

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --query-port=2375/tcp

3.4 docker ÅäÖÃ

ϵͳ¹ÜÀí-ϵͳÉèÖÃ-ÔÆ ÐÂÔö

ËÄ¡¢²¿Êð˽ÓоµÏñ²Ö¿â

Docker Hub×÷ΪDockerĬÈϹٷ½¹«¹²¾µÏñ£»Èç¹ûÏë×Ô¼º´î½¨Ë½ÓоµÏñ²Ö¿â£¬¹Ù·½Ò²Ìṩregistry¾µÏñ£¬Ê¹µÃ´î½¨Ë½Óвֿâ·Ç³£¼òµ¥¡£

ÔÚ192.168.1.121²¿Êð£º

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry

½ÓÏÂÀ´²âÊÔregistry¿ÉÓÃÐÔ¡£

ΪÁ˸ü¿ìµÄ»ñÈ¡¾µÏñ£¬ÕâÀïʹÓÃÁ˰¢ÀïÔÆµÄ¾µÏñ¼ÓËÙÆ÷¡£

ÓÉÓÚDocker CLI¿Í»§¶ËĬÈÏÒÔHTTPS·ÃÎÊ£¬¶ø²¿ÊðµÄregistry²¢Î´ÌṩHTTPS£¬Òò´Ë£¬ÐèÒªÔÚpull¾µÏñµÄDockerÖ÷»ú£¨192.168.1.237£¬192.168.1.121£©Ìí¼ÓHTTP¿ÉÐÅÈΣº

vi /etc/docker/daemon.json

Îå¡¢¹¹½¨Tomcat»ù´¡¾µÏñ

vim Dockerfile

Ìí¼ÓÈçÏÂÄÚÈÝ£º


FROM centos:7
MAINTAINER www.aliangedu.com

ENV VERSION=8.5.39
ENV JAVA_HOME /usr/local/jdk

RUN yum install wget -y

RUN wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz && \
tar zxf apache-tomcat-${VERSION}.tar.gz && \
mv apache-tomcat-${VERSION} /usr/local/tomcat && \
rm -rf apache-tomcat-${VERSION}.tar.gz /usr/local/tomcat/webapps/*

EXPOSE 8080
CMD ["catalina.sh", "run"]

?¹¹½¨¾µÏñ²¢pushµ½192.168.1.121²Ö¿â£º

docker build -t 192.168.1.121:5000/hxkg-tomcat-8.5 .
docker push 192.168.1.121:5000/hxkg-tomcat-8.5

Áù¡¢Ð½¨ÈÎÎñ

ÈÎÎñÅäÖÃ

ÔÚJenkins±¾»ú·þÎñÆ÷£¨192.168.1.237£©¹¹½¨¾µÏñ²¢ÍÆË͵½¾µÏñ²Ö¿â£¨192.168.1.121£©£¬²¢SSHÔ¶³ÌÁ¬½Óµ½DockerÖ÷»ú£¨192.168.1.121£¬ÕâÀï¿ÉÒÔÐÂÔöһ̨µ¥¶ÀµÄ·þÎñÆ÷À´À­È¡²Ö¿âÖеľµÏñ£©

ʹÓÃÍÆË͵ľµÏñ´´½¨ÈÝÆ÷£º

»ñÈ¡²Ö¿âÖй¹½¨µÄtomcat¾µÏñ£¬»ùÓڴ˾µÏñ½«±àÒë´ò°üºóµÄwar°ü¿½±´µ½tomcat webappsĿ¼£¬¹¹½¨¾µÏñ²¢ÍÆËÍ192.168.1.121²Ö¿â¡£

ÉÏͼÖУ¬ÔÚJenkinsÖ÷»úÖ´ÐеÄShellÃüÁîÈçÏ£º

REPOSITORY=192.168.1.121:5000/zpzc
# ¹¹½¨¾µÏñ
cat > Dockerfile << EOF
FROM 192.168.1.121:5000/hxkg-tomcat-8.5:latest
RUN rm -rf /usr/local/tomcat/webapps/*.war
COPY target/*.war /usr/local/tomcat/webapps
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]
EOF
docker build -t $REPOSITORY .
# ÉÏ´«¾µÏñ
docker push $REPOSITORY

¾µÏñ¹¹½¨Íê³Éºó£¬ ʹÓÃsshÔ¶³ÌµÇ¼²¿Êð·þÎñÆ÷£¨192.168.1.121£©ÉÏɾ³ýÒѾ­´æÔÚµÄÈÝÆ÷ºÍÀ­È¡µÄ²¿Êð¾µÏñ£¬ÖØÐ²¿ÊðеÄÈÝÆ÷¡£

ÉÏͼÖУ¬SSHÔ¶³ÌDockerÖ÷»úÖ´ÐеÄShellÃüÁîÈçÏ£º

REPOSITORY=192.168.1.121:5000/zpzc
# ²¿Êð
docker rm -f zpzc
docker rmi $REPOSITORY
docker run -d --name zpzc -p 28888:8080 -v /usr/java/jdk1.8.0_171:/usr/local/jdk $REPOSITORY

×¢Ò⣬´Ë´¦ÐèÒªÔÚ²¿Êð·þÎñÆ÷Éϰ²×°jdk»·¾³£¬¹ÒÔØjdkĿ¼µ½ÈÝÆ÷ÖУ¬ÒòΪtomcat¾µÏñÎļþDockerfileûÓÐÅäÖÃjdk»·¾³£º

Æß¡¢¹¹½¨ÈÎÎñ

Ö´ÐÐÈÕÖ¾£º

°Ë¡¢²âÊÔ

ÔÚ192.168.1.121Éϲ鿴¾µÏñ£º

²é¿´ÈÝÆ÷£º

postman½Ó¿Ú²âÊÔ£º

¾Å¡¢Óöµ½µÄÒì³£

1.

½â¾ö£ºÔÚ192.168.1.237ÉÏÖ´ÐÐ?sudo gpasswd -a jenkins root£»sudo service jenkins restart¡£½«jenkinsÓû§¼ÓÈëµ½rootÓû§×éÖлñÈ¡¹ÜÀíԱȨÏÞ¡£

2.

½â¾ö£º?Õâ¸öÎÊÌâ¿ÉÄÜÊÇÓÉÓÚ¿Í»§¶Ë²ÉÓÃhttps£¬docker registryδ²ÉÓÃhttps·þÎñËùÖ¡£Ò»ÖÖ´¦Àí·½Ê½Êǰѿͻ§¶ÔµØÖ·¡°192.168.1.121:5000¡±ÇëÇó¸ÄΪhttp¡£ÔÚ¡±/etc/docker/¡°Ä¿Â¼Ï£¬´´½¨¡±daemon.json¡°Îļþ¡£ÔÚÎļþÖÐдÈ룺{ "insecure-registries":["192.168.1.121:5000"] }

3.

½â¾ö£ºÕâÊÇÒòΪÎÒÔÚjenkinsÅäÖÃshell½Å±¾µÄʱºòûÓÐдȫ·¾¶µ¼ÖÂÕÒ²»µ½tomcat catalina.sh½Å±¾¡£

¸ÄΪ£º

 

   
3232 ´Îä¯ÀÀ       32
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
ÔÆÔ­Éú¼Ü¹¹¸ÅÊö
K8S¸ß¿ÉÓü¯Èº¼Ü¹¹ÊµÏÖ
ÈÝÆ÷ÔÆ¹ÜÀíÖ®K8S¼¯Èº¸ÅÊö
k8s-ÕûÌå¸ÅÊöºÍ¼Ü¹¹
Ê®·ÖÖÓѧ»áÓÃdocker²¿Êð΢·þÎñ
×îпγÌ
ÔÆ¼ÆË㡢΢·þÎñÓë·Ö²¼Ê½¼Ü¹¹
Æóҵ˽ÓÐÔÆÔ­ÀíÓë¹¹½¨
»ùÓÚKubernetesµÄDevOpsʵ¼ù
ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦Ó㨰¢ÀïÔÆ£©
Docker²¿Êð±»²âϵͳÓë×Ô¶¯»¯¿ò¼Üʵ¼ù
³É¹¦°¸Àý
±±¾© ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ùÅàѵ
ij¾ü¹¤Ñо¿µ¥Î» MDA£¨Ä£ÐÍÇý¶¯¼Ü¹¹£©
ÖªÃûÏû·Ñ½ðÈÚ¹«Ë¾ ÁìÓòÇý¶¯Éè¼Æ
ÉîÛÚijÆû³µÆóÒµ Ä£ÐÍÇý¶¯µÄ·ÖÎöÉè¼Æ