ServoyComponents: DevOps Tools Auto-Deploy Example

Questions and Answers on installation, deployment, management, locking, tranasactions of Servoy Application Server

ServoyComponents: DevOps Tools Auto-Deploy Example

Postby sbutler » Tue Jul 09, 2024 2:19 am

We've updated the devops docs at with a new simplified WAR Auto-Deploy example. The example shows how to build the WAR file, and then use OpenVPN to connect securely to your VPN Server, and then SSH into the Tomcat server to stop the service, then upload the WAR, and start the service back up, and finally exit the VPN. This allows you to SSH into your Linux Tomcat server without opening up port 22 to the outside world. Similar options could be done for Windows servers.

Each "- name: " in the YAML below represents a different step in GitHub actions and they chain together to build your custom action/pipeline.

Code: Select all
name: "Build and Auto-Deploy"
     - develop
    runs-on: ubuntu-latest
    if: "contains(github.event.head_commit.message, '[war]')"
     - name: Checkout
       uses: actions/checkout@v2
     - name: Servoy WAR Build
       uses: itechpros/servoy-war-builder@v1
         servoy-version: 2023.03.2.3844
         api-key: License Key from us
         solution-name: MySolution
         default-admin-user: admin
         default-admin-password: password
         dbi: true
         extras-folder: ServoyDeveloperExtras
     - name: VPN Connect
       uses: aduriseti/ovpn3-connect-action@v1
       id: connect_vpn
         ovpn-config: ${{ secrets.OPENVPN_CONFIG }}
         vpn-user: ${{ secrets.OPENVPN_USER }}
         vpn-pass: ${{ secrets.OPENVPN_PASS }}
     - name: SSH to stop tomcat     
       uses: tiyee/action-ssh@v1.0.1
         port: 22
         username: centos
         privateKey: ${{ secrets.KEY_PEM }}
         command: 'sudo systemctl stop tomcat'
     - name: SFTP the war
       uses: wlixcc/SFTP-Deploy-Action@v1.2.4
         port: 22
         username: centos
         ssh_private_key: ${{ secrets.KEY_PPM }}
         local_path: 'MySolution.war'
         remote_path: '/usr/share/tomcat/webapps'
         sftp_only: true
     - name: SSH to start tomcat
       uses: tiyee/action-ssh@v1.0.1
         port: 22
         username: centos
         privateKey: ${{ secrets.KEY_PPM }}
         command: 'sudo systemctl start tomcat'
     - name: kill vpn
       if: always()
       run: |
        sudo pkill openvpn
Scott Butler
iTech Professionals, Inc.
SAN Partner

Servoy Consulting & Development
Servoy University- Training Videos
Servoy Components- Plugins, Beans, and Web Components
Servoy Guy- Tips & Resources
ServoyForge- Open Source Components
User avatar
Servoy Expert
Posts: 765
Joined: Sun Jan 08, 2006 7:15 am
Location: Cincinnati, OH

Return to Servoy Server

Who is online

Users browsing this forum: No registered users and 3 guests