Archive of

Bash script for checking telnet service status


cat monitor.sh 
#!/bin/bash
source /etc/profile
cd /home/koala/Vagrant/windows-server-2019
(echo > /dev/tcp/192.168.178.220/23) > /dev/null 2>&1
if [ $? -ne 0 ]; then
  vagrant halt
  vagrant up
fi

How to use Jenkins to deploy a Node.JS backend project?

  1. Checkout code

  2. Set correct config file

  3. Scp to the remote machine

  4. Run deploy.sh on the remote machine by ssh

    • docker-compose build --no-cache
    • docker-compose down
    • docker-compose up -d

sshPublisher setup

  1. Manage Jenkins -> Config System
  • Find Publish over SSH
  • Add New Server, test connection
  1. Write directive in Jenkins file
            sshPublisher(
                continueOnError: false, failOnError: true,
                publishers: [
                 sshPublisherDesc(
                  configName: "yt-files-${BRANCH}",
                  verbose: true,
                  transfers: [
                   sshTransfer(
                    sourceFiles: "**/**",
                    remoteDirectory: "./publish/${BRANCH}",
                    removePrefix: '',
                    remoteDirectorySDF: false,
                    cleanRemote: true,
                    execCommand: "cd ./publish/${BRANCH} && bash deploy.sh ${BRANCH}"
                   )
                  ])
                ]
            )

要在Jenkins中新增对一个仓库的发布,需要以下步骤

  1. 创建流水线, 添加Git仓库,Credentials

  2. 为各分支添加必要的配置文件(不方便加入版本控制的机密信息)

  3. 写 Jenkinsfile