Linux ×÷Ϊһ¿îÇ¿´óµÄ¿ªÔ´²Ù×÷ϵͳ£¬ÒÔÆäÎȶ¨ÐÔ¡¢°²È«ÐԺͷḻµÄÉçÇø×ÊÔ´£¬³ÉΪÁËÖڶ࿪·¢ÕßºÍÆóÒµµÄÊ×ѡƽ̨
¶ø Bash£¬×÷Ϊ Linux ϵÄĬÈÏÃüÁîÐнâÊÍÆ÷£¬¸üÊÇÒÔÆäÁé»îÐÔºÍÇ¿´óµÄ½Å±¾ÄÜÁ¦£¬³ÉΪ×Ô¶¯»¯ÈÎÎñºÍϵͳ¹ÜÀíµÄµÃÁ¦ÖúÊÖ
Java£¬×÷ΪһÖֹ㷺ӦÓõıà³ÌÓïÑÔ£¬Æ¾½èÆä¡°Ò»´Î±àд£¬µ½´¦ÔËÐС±µÄÀíÄÔÚÆóÒµ¼¶Ó¦Óÿª·¢ÖÐÕ¼¾ÝÁ˾Ù×ãÇáÖØµÄµØÎ»
Java µÄÓ¦ÓóÌÐòͨ³£ÒÔ JAR£¨Java ARchive£©°üµÄÐÎʽ·Ö·¢£¬±ãÓÚ²¿ÊðºÍ·Ö·¢
±¾ÎĽ«ÉîÈë̽ÌÖÈçºÎ½« Linux Bash Óë Java JAR ½áºÏÆðÀ´£¬¹¹½¨Ò»¸ö¸ßЧ¡¢×Ô¶¯»¯µÄ¿ª·¢Ó벿Êð»·¾³
Ò»¡¢Linux Bash£º×Ô¶¯»¯Óë¹ÜÀíµÄ»ùʯ Bash£¬¼´ Bourne Again SHell£¬ÊÇ Linux ºÍ Unix Àà²Ù×÷ϵͳÖÐ×î³£ÓõÄÃüÁîÐнâÊÍÆ÷Ö®Ò»
Ëü²»½öÌṩÁË»ù±¾µÄÃüÁîÖ´Ðй¦ÄÜ£¬»¹ÔÊÐíÓû§Í¨¹ý±àд½Å±¾À´×Ô¶¯»¯¸´ÔÓÈÎÎñ£¬¼«´óµØÌá¸ßÁ˹¤×÷ЧÂÊ
ÒÔÏÂÊÇһЩ Bash ÔÚÈí¼þ¿ª·¢Ó벿ÊðÖеĹؼüÓ¦Ó㺠1.×Ô¶¯»¯½Å±¾£ºÀûÓà Bash ½Å±¾£¬¿ÉÒÔÇáËÉʵÏÖ±àÒë¡¢´ò°ü¡¢²¿ÊðµÈһϵÁÐÁ÷³ÌµÄ×Ô¶¯»¯
±ÈÈ磬ͨ¹ý±àдһ¸ö½Å±¾£¬¿ÉÒÔÔÚÿ´Î´úÂë¸üкó×Ô¶¯Ö´ÐбàÒëºÍ²âÊÔ£¬È·±£´úÂëÖÊÁ¿
2.»·¾³ÅäÖãºBash ½Å±¾·Ç³£ÊʺÏÓÃÓÚÉèÖúÍÅäÖÿª·¢»·¾³
´Ó°²×°ÒÀÀµ¿âµ½ÅäÖû·¾³±äÁ¿£¬Bash ½Å±¾¶¼ÄÜ¿ìËÙ׼ȷµØÍê³É£¬È·±£Ã¿Î»¿ª·¢Õß¶¼ÄÜÔÚÒ»¸öÒ»ÖµĻ·¾³Öй¤×÷
3.ϵͳ¼à¿ØÓë¹ÜÀí£ºBash ½Å±¾»¹¿ÉÒÔÓÃÓÚ¼à¿Ø·þÎñÆ÷״̬¡¢¹ÜÀíÓû§È¨ÏÞ¡¢±¸·ÝÊý¾ÝµÈϵͳÔËάÈÎÎñ£¬ÎªÏµÍ³µÄÎȶ¨ÔËÐÐÌṩÓÐÁ¦±£ÕÏ
¶þ¡¢Java JAR£ºÆóÒµ¼¶Ó¦Óõıê×¼»¯·Ö·¢¸ñʽ Java µÄ¿çÆ½Ì¨ÌØÐÔµÃÒæÓÚÆäÐéÄâ»ú£¨JVM£©»úÖÆ£¬¶ø JAR Îļþ×÷Ϊ Java Ó¦ÓóÌÐòµÄ±ê×¼´ò°ü¸ñʽ£¬Ôò½øÒ»²½¼ò»¯ÁË Java Ó¦Óõķַ¢ºÍ²¿Êð
JAR Îļþʵ¼ÊÉÏÊÇÒ»¸ö ZIP ¸ñʽµÄѹËõ°ü£¬°üº¬ÁË Java ÀàÎļþ¡¢×ÊÔ´ÎļþÒÔ¼°Ò»¸ö¿ÉÑ¡µÄÇåµ¥Îļþ£¨MANIFEST.MF£©£¬ÓÃÓÚÖ¸¶¨Ó¦ÓóÌÐòµÄÈë¿ÚµãµÈÐÅÏ¢
1.¼ò»¯²¿Ê𣺽« Java Ó¦Óôò°ü³É JAR Îļþºó£¬Ö»ÐèÔÚÄ¿±ê»úÆ÷Éϰ²×° JVM£¬¼´¿Éͨ¹ý¼òµ¥µÄÃüÁÈç`java -jar myapp.jar`£©Æô¶¯Ó¦Óã¬ÎÞÐèµ£ÐIJÙ×÷ϵͳ²îÒì
2.Ä£¿é»¯ÓëÒÀÀµ¹ÜÀí£ºÏÖ´ú Java ÏîÄ¿ÍùÍù²ÉÓà Maven »ò Gradle µÈ¹¹½¨¹¤¾ß£¬ÕâЩ¹¤¾ß²»½öÖ§³Ö×Ô¶¯´ò°ü³É JAR£¬»¹ÄÜÓÐЧ¹ÜÀíÏîÄ¿ÒÀÀµ£¬È·±£ÏîÄ¿ËùÐèµÄ¿âÎļþ¶¼±»ÕýÈ·´ò°ü
3.°²È«ÐÔ£ºJAR Îļþ¿ÉÒÔ°üº¬Êý×ÖÇ©Ãû£¬ÓÃÓÚÑéÖ¤Ó¦ÓõÄÍêÕûÐÔºÍÀ´Ô´£¬ÔöÇ¿ÁËÓ¦ÓõݲȫÐÔ
Èý¡¢Linux Bash Óë Java JAR µÄÍêÃÀÈÚºÏ ½« Linux Bash Óë Java JAR ½áºÏʹÓ㬿ÉÒÔ´´½¨Ò»¸ö¸ß¶È×Ô¶¯»¯¡¢Áé»îÇÒ°²È«µÄ¿ª·¢Ó벿Êð»·¾³
ÒÔÏÂÊÇÒ»¸öµäÐ͵ij¡¾°Ê¾Àý£¬Õ¹Ê¾ÁËÈçºÎÀûÓà Bash ½Å±¾À´×Ô¶¯»¯ Java Ó¦ÓõĹ¹½¨¡¢´ò°üºÍ²¿Êð¹ý³Ì
³¡¾°ÃèÊö£º ¼ÙÉèÎÒÃÇÓÐÒ»¸ö»ùÓÚ Spring Boot µÄ Java Web Ó¦Óã¬ÐèÒª¶¨ÆÚ´Ó´úÂë²Ö¿âÀÈ¡×îдúÂ룬¹¹½¨ÏîÄ¿£¬´ò°ü³É JAR Îļþ£¬²¢²¿Êðµ½Ô¶³Ì·þÎñÆ÷ÉÏ
²½ÖèÏê½â£º 1.×¼±¸»·¾³£º - ÔÚ±¾µØ¿ª·¢»úÆ÷Éϰ²×° Git¡¢Java JDK¡¢Maven ÒÔ¼° SSH ¿Í»§¶Ë
- ÔÚÔ¶³Ì·þÎñÆ÷Éϰ²×° Java JDK£¬²¢È·±£Äܹ»Í¨¹ý SSH ÎÞÃÜÂëµÇ¼£¨Ê¹Óà SSH ÃÜÔ¿¶Ô£©
2.±àд Bash ½Å±¾£º bash !/bin/bash ÅäÖñäÁ¿ REPO_URL=https://github.com/your-repo/your-project.git CLONE_DIR=/path/to/clone/dir DEPLOY_JAR=/path/to/deploy/myapp.jar REMOTE_USER=your-remote-user REMOTE_HOST=your-remote-host REMOTE_DEPLOY_DIR=/path/to/remote/deploy/dir ¿Ë¡»ò¸üдúÂë²Ö¿â if¡¾ ! -d $CLONE_DIR/.git ¡¿; then git clone $REPO_URL $CLONE_DIR else cd $CLONE_DIR && git pull origin main fi ¹¹½¨²¢´ò°üÏîÄ¿ cd $CLONE_DIR mvn clean package ¸´ÖÆ JAR Îļþµ½Ô¶³Ì·þÎñÆ÷ scp target/myapp.jar $REMOTE_USER@$REMOTE_HOST:$REMOTE_DEPLOY_DIR ÔÚÔ¶³Ì·þÎñÆ÷ÉÏÍ£