<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      jenkins與自動發(fā)布接口

      1.安裝

      需先下載java環(huán)境
      # 拉取庫的配置到本地對應文件
      0、wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
      1、wget https://pkg.jenkins.io/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm
      
      2、yum install jenkins-2.190.1-1.1.noarch.rpm -y
      
      # 修改配置文件,用戶改成了root,端口8020
      3、vim /etc/sysconfig/jenkins 
      JENKINS_USER="root"
      JENKINS_PORT="8020"
      
      4、啟動
      systemctl start jenkins
      systemctl enable jenkins
      
      5.查看狀態(tài)
      [root@iZuf6fy2kg5mx828krkhcuZ qqc_data]# systemctl status jenkins
      ● jenkins.service - LSB: Jenkins Automation Server
         Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
         Active: active (running) since Sat 2020-10-17 16:24:29 CST; 16s ago
           Docs: man:systemd-sysv-generator(8)
         CGroup: /system.slice/jenkins.service
                 └─22749 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar ...
      
      Oct 17 16:24:27 iZuf6fy2kg5mx828krkhcuZ systemd[1]: Starting LSB: Jenkins Automation Server...
      Oct 17 16:24:27 iZuf6fy2kg5mx828krkhcuZ runuser[22734]: pam_unix(runuser:session): session opened for user root by (uid=0)
      Oct 17 16:24:29 iZuf6fy2kg5mx828krkhcuZ systemd[1]: Started LSB: Jenkins Automation Server.
      Oct 17 16:24:29 iZuf6fy2kg5mx828krkhcuZ jenkins[22729]: Starting Jenkins [  OK  ]
      [root@iZuf6fy2kg5mx828krkhcuZ qqc_data]# ps -aux | grep 8020
      root     22749 32.0 14.6 2351276 148728 ?      Ssl  16:24   0:12 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8020 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
      root     22907  0.0  0.0 112712   964 pts/2    S+   16:25   0:00 grep --color=auto 8020
      
      6、訪問
      http://www.qqc-home.com:8020/
      如下圖顯示即已安裝成功
      
      # 管理員登錄密碼位置:
      vim /var/lib/jenkins/secrets/initialAdminPassword
      登錄名:admin
      

      image

      2、使用

      2.1 啰嗦幾句
      ps: 配置了半天也沒搞清楚怎么操作,各種選項操作太復雜了;
      它的基本流程:手動在服務器執(zhí)行發(fā)布任務命令的過程,進行封裝后,可視化頁面進行一鍵批量調用;
      本質上就是干了這么一件事,附加了一些用戶權限,發(fā)布日志記,異常發(fā)郵件等相關功能;
      有興趣的同學去jenkins官網(wǎng)(https://www.jenkins.io/zh/doc/)學一下,我暫時學不會啊
      
      
      2.2 自己實現(xiàn)簡易版發(fā)布接口
      目標:在本地起一個flask 服務,寫一個發(fā)布接口
      (1) 建一個表,存發(fā)布日志信息,基本信息如:用戶id,發(fā)布描述信息,服務器返回的日志等
      (2)連接服務器,執(zhí)行發(fā)布命令,日志信息入庫,返回
      
      邏輯代碼:
      #!/usr/bin/env python
      # -*- coding: utf-8 -*-
      # @Time    : 2020/12/10 15:28
      # @Author  : qqc
      # @File    : release_tool.py
      # @Software: PyCharm
      
      
      import paramiko
      import datetime
      import json
      from utils.connect_mysql import *
      
      
      class ReleaseTools(object):
          def __init__(self, user_id, params):
              self.user_id = user_id
              self.params = params
      
          @property
          def ssh_connect(self):
              """ 連接服務器 """
              ssh = paramiko.SSHClient()
              ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      
              # 通過ssh 私鑰登錄
              ssh.connect(hostname='47.102.138.171', username='root', key_filename=r'C:\Users\admin\.ssh\id_rsa')
              return ssh
      
          @property
          def command(self):
              """ 發(fā)布的命令 """
              cmds = " cd /object/test_obj/django_test ; " \
                     "git pull ; " \
                     "supervisorctl restart test-django:test-django-uwsgi "
              return cmds
      
          def create_release_data(self, info_data):
              """ 記錄發(fā)布日志 """
              sql_str = """
              INSERT INTO obj_release
              (user_id, params_data, out_data,create_time)
              VALUES
              ({0}, '{1}','{2}', NOW());
              """.format(self.user_id, self.params, info_data)
      
              cursor_sql(sql_str)
      
          def obj_release(self):
              """ 執(zhí)行入口 """
              stdin, stdout, stderr = self.ssh_connect.exec_command(self.command)
              out = stdout.readlines()
              err = stderr.readlines()
      
              info_data = json.dumps({"out": out, "err": err}, ensure_ascii=False)
              self.create_release_data(info_data)
              self.ssh_connect.close()
              return {"user_id": self.user_id, "params_data": self.params, "out": out, "err": err,
                      "create_time": datetime.datetime.now()}
      
      調用路由(參數(shù)根據(jù)實際業(yè)務需求調節(jié)):
      from flask import Flask, request, jsonify
      from utils.release_tool import *
      
      app = Flask(__name__)
      
      
      @app.route('/get/release')
      def release_objects():
          user_id = request.args.get("user_id", 0)
          params = request.args.get("params", '')
          release = ReleaseTools(user_id, params)
          res = release.obj_release()
          return jsonify(res)
      

      3. 測試

      image

      image

      問題:
      1、多臺服務器發(fā)布
      2、用戶使用權限配置
      3、實際生產過程中,通過跳板機連接到生產服務器;
      4、可視化頁面操作
      ps:優(yōu)化是沒完沒了的過程,有興趣的伙伴們來完善起來了啊
      
      posted @ 2020-12-11 13:41  朝朝哥  閱讀(490)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产馆在线精品极品粉嫩| 毛片久久网站小视频| 城市| 丰满巨乳淫巨大爆乳| 人人妻人人澡人人爽人人精品电影 | 新巴尔虎右旗| 欧美人与动牲交A免费观看| 精品国产一区av天美传媒| 昌乐县| 99久久免费精品国产色| 厨房与子乱在线观看| 成在线人免费视频| 麻豆亚洲精品一区二区| 天天爱天天做天天爽夜夜揉| 国产精品99久久免费| 黑人巨大av无码专区| 国产对白老熟女正在播放| 九九热精品免费视频| 国产精品一线二线三线区| 精品精品亚洲高清a毛片| 中国女人熟毛茸茸A毛片| 在熟睡夫面前侵犯我在线播放 | 后入内射无码人妻一区| 亚洲熟妇少妇任你躁在线观看无码| 亚洲人亚洲人成电影网站色| 宅男噜噜噜66在线观看| 亚洲色偷偷色噜噜狠狠99 | 又大又粗又硬又爽黄毛少妇| 一区二区在线观看 激情| 色综合久久久久综合99| 欧美午夜精品久久久久久浪潮| 日韩黄色av一区二区三区| 精品熟女亚洲av在线观看| 久久这里有精品国产电影网| 在线成人国产天堂精品av| 麻豆国产传媒精品视频| 贞丰县| 成人精品一区日本无码网| 国产伦一区二区三区久久| 北岛玲中文字幕人妻系列| 亚洲的天堂在线中文字幕|