gitlabCI/CD部署一个java项目

摘要:
1.环境准备1)安装jdk工具,安装yumpel源代码[root@k8s-node02~]#Yum install yepel release安装jdk[root@k8s-node02~]#Yu_install-yjava-1.8.0-openjdk验证jdk[root@k8s-node02~]#java版本openjdkversion“1.8.0_232”OpenJDKRuntimeEnv

1、环境准备

  1)安装jdk工具

  • 安装yum epel源
    [root@k8s-node02 ~]# yum install -y epel-release
  • 安装jdk
    [root@k8s-node02 ~]# yum install -y java-1.8.0-openjdk
    
  • 验证jdk
    [root@k8s-node02 ~]# java -version
    openjdk version "1.8.0_232"
    OpenJDK Runtime Environment (build 1.8.0_232-b09)
    OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

  2)安装maven工具

  • 安装maven官方源
    [root@k8s-node02 ~]# yum-config-manager --add-repo http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo
    [root@k8s-node02 ~]# yum-config-manager --enable epel-apache-maven
  • 安装maven
    [root@k8s-node02 ~]# yum install -y apache-maven
  • 验证maven
    [root@k8s-node02 ~]# mvn -version
    Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T03:58:13-04:00)
    Maven home: /usr/share/apache-maven
    Java version: 1.8.0_232, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-957.27.2.el7.x86_64", arch: "amd64", family: "unix"

2、安装tomcat

  • 官网下载地址:http://tomcat.apache.org/
  • 下载tomcat
    [root@k8s-node02 tools]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.50/bin/apache-tomcat-8.5.50.tar.gz
  • 安装tomcat
    [root@k8s-node02 tools]# tar -zxf apache-tomcat-8.5.50.tar.gz -C /opt/
    [root@k8s-node02 tools]# ln -s /opt/apache-tomcat-8.5.50   /opt/tomcat
    [root@k8s-node02 tools]# echo 'export TOMCAT_HOME=/opt/tomcat'>>/etc/profile
    [root@k8s-node02 tools]# echo 'export  PATH=$PATH:$TOMCAT_HOME/bin' >>/etc/profile
    [root@k8s-node02 tools]# source /etc/profile
  • 启动tomcat
    [root@k8s-node02 tools]# /opt/tomcat/bin/startup.sh start
    Using CATALINA_BASE:   /opt/tomcat
    Using CATALINA_HOME:   /opt/tomcat
    Using CATALINA_TMPDIR: /opt/tomcat/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
    Tomcat started.
  • 设置权限
    [root@k8s-node02 java_demo]# chown -R staff:staff /opt/apache-tomcat-8.5.50
  • 浏览器验证: 192.168.200.134:8080 e Inmp (l In... Wiki Mailing Lists Home Documentation Configuration Examples Apache Tomcat/8.5.50 Find Help ÅPACHE If you're seeing this, you've successfully installed Tomcat. Congratulations! Recommended Reading: Security Considerations How-To Manager_Application How-To Clustering/Session Replication How-To Server Status Manager App Host Manager Developer Quick Start Tomcat Setup First Web Application Managing Tomcat Realms & AAA JDBC DataSources Examples For security, access to the manager webaQQ is restricted Users are defined in: In Tomcat 8.5 access to the manager application is split beüeen different users. Read more.. Release Notes Changelog Migration Guide Security Notices Documentation Tomcat 8.5 Documentation Tomcat 8.5 Configuration Tomcat Wiki Find additional important configuration information in: txt Developers may be interested in: Tomcat Bug Database Tomcat 8 5 JevaDocs Tomcat 8 5 Git Servlet Specifications Tomcat Versions Getting Help FAQ and Mailing Lists The following mailing lists are available: tomcat-announce Important announcements, releases, security vulnerability notifications. (Low volume). tomcat-users user support and discussion taglibs-user user support and discussion for Buacng_lagljns tomcat-dev Development mailing list, including commit messages

3、准备gitlab的" .gitlab-ci.yml "配置文件

[root@k8s-node02 java_demo]# vim .gitlab-ci.yml 
# 定义stages
stages:
  - build
  - install

# 定义安装包的存放位置和Tomcat服务器的地址的变量,便于后续部署使用.
variables:
  CIDEMO_PACKAGE_DIR: '/home/gitlab-runner/packages/cidemo'
  SERVER_HOME_DIR: '/home/gitlab-runner/tomcat/cidemo-tomcat'

###################### 构建编译和Maven打包编译 #######################

#编译测试任务:
deploy-build-test:
  stage: build
  only:
    - master
  script:
    - mvn clean package -Dmaven.test.skip=true
    - rm -rf $CIDEMO_PACKAGE_DIR/*.war
    - cp -a target/*.war $CIDEMO_PACKAGE_DIR/cidemo.war

###################### deploy部署安装 #######################

#打包任务:
deploy-install-test:
  stage: install
  script:
    - echo '准备将最新的war包复制、保存到某个目录里面供后续使用.'
    - rm -rf $SERVER_HOME_DIR/*.war
    - cp -a $CIDEMO_PACKAGE_DIR/cidemo.war   $SERVER_HOME_DIR/ROOT.war
    - /opt/tomcat/bin/startup.sh stop
    - rm -rf /opt/tomcat/webapps/*
    - cp -a $SERVER_HOME_DIR/ROOT.war /opt/tomcat/webapps/
    - /opt/tomcat/bin/startup.sh start

把编写的“.gitlab-ci.yml”提交到master端

4、 浏览器访问

 @Umbra

免责声明:文章转载自《gitlabCI/CD部署一个java项目》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇超详细介绍 图像处理(卷积)(转)微信开发(一):用JSAPI做微信支付+微信卡包(代金券)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何在Windows下搭建Android开发环境

Android SDK 2.2 开发环境搭建 (1) 安装必备。(以下为Android开发中必备的软件与工具)1.1 安装jdk。Android目前支持以下jdk版本:jdk1.5,jdk1.6如果未安装可以到官方下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html下载...

Linux-PAM认证模块

Linux-PAM认证模块         用户访问服务器的时候,服务器的某一个服务程序把用户的谁请求发送到PAM模块进行认证。对于不同的服务器应用程序所对应的PAM模块也是不同的。如果想查看某个程序是否支持PAM认证,可以用ldd命令进行检查: 例如:查看sshd是不是支持PAM模块认证: 由于在程序模块里链接了libpam.so.0 =<...

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)

1. 安装xvfb sudo apt-get install xvfb Xvfb是流行的虚拟现实库,可以使很多需要图形界面的程序虚拟运行。 2. 安装pyvirtualdisplay pyvirtualdisplay 是Xvfb的 python 封装。 pip install pyvirtualdisplay 3. 在 Ubuntu 上安装OpenGL...

k8s service不能访问排错

简介 对于新安装的 Kubernetes,经常出现的一个问题是 Service 没有正常工作。如果您已经运行了 Deployment 并创建了一个 Service,但是当您尝试访问它时没有得到响应,希望这份文档能帮助您找出问题所在。​ Service工作逻辑 为了完成本次演练的目的,我们先运行几个 Pod $ kubectl run hostnames...

flask 需要下载的包

Flask 需要下载的包1、pip install flask2、pip install flask-script3、pip install flask-sqlalchemy4、pip install flask-mysqldb5、pip install blueprint6、pip install pymysql...

Linux访问控制列表(Access Control List,简称ACL)

Linux访问控制列表(Access Control List,简称ACL) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.ACL概述 ACL:Access Control List,实现灵活的权限管理   除了文件的所有者,所属组和其它人,可以对更多的用户设置权限   CentOS7 默认创建的xfs和ext4文件系统具有AC...