Gitlab和Jenkins集成 实现CI (一)
Gitlab和Jenkins集成 实现CI (二)
Gitlab和Jenkins集成 实现CI (三)
自动部署
配置免密ssh
进入http服务器
生成ssh密钥
ssh-keygen -t rsa
进入jenkins(容器)
拷贝公钥
ssh-copy-id http服务器用户名@http服务器ip
#输入http服务器密码
配置jenkis构建触发器
生成拷贝脚本
vi /var/jenkins_home/scp_dev_env.sh
#!/bin/sh
scp /var/jenkins_home/workspace/jenkins项目名称/* http服务器用户名@http服务器ip:/home/docker/www/项目根目录/
ssh http服务器用户名@http服务器ip 'composer -V' # 这里是php执行composer,如果是java可以执行maven等
# 设置执行权限
chmod +x /var/jenkins_home/scp_dev_env.sh
# 运行异常脚本,保证脚本无异常,可正常执行得到想要的结果
/bin/sh /var/jenkins_home/scp_dev_env.sh
#去http服务器根目录查看拷贝是否正确
配置构建步骤(Build Steps)
进入项目
#mermaid-svg-Z6UpGdMfUpl9jP5R {font-family:”trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#000000;}#mermaid-svg-Z6UpGdMfUpl9jP5R .error-icon{fill:#552222;}#mermaid-svg-Z6UpGdMfUpl9jP5R .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Z6UpGdMfUpl9jP5R .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-Z6UpGdMfUpl9jP5R .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Z6UpGdMfUpl9jP5R .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Z6UpGdMfUpl9jP5R .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Z6UpGdMfUpl9jP5R .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Z6UpGdMfUpl9jP5R .marker{fill:#666;stroke:#666;}#mermaid-svg-Z6UpGdMfUpl9jP5R .marker.cross{stroke:#666;}#mermaid-svg-Z6UpGdMfUpl9jP5R svg{font-family:”trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Z6UpGdMfUpl9jP5R .label{font-family:”trebuchet ms”,verdana,arial,sans-serif;color:#000000;}#mermaid-svg-Z6UpGdMfUpl9jP5R .cluster-label text{fill:#333;}#mermaid-svg-Z6UpGdMfUpl9jP5R .cluster-label span{color:#333;}#mermaid-svg-Z6UpGdMfUpl9jP5R .label text,#mermaid-svg-Z6UpGdMfUpl9jP5R span{fill:#000000;color:#000000;}#mermaid-svg-Z6UpGdMfUpl9jP5R .node rect,#mermaid-svg-Z6UpGdMfUpl9jP5R .node circle,#mermaid-svg-Z6UpGdMfUpl9jP5R .node ellipse,#mermaid-svg-Z6UpGdMfUpl9jP5R .node polygon,#mermaid-svg-Z6UpGdMfUpl9jP5R .node path{fill:#eee;stroke:#999;stroke-width:1px;}#mermaid-svg-Z6UpGdMfUpl9jP5R .node .label{text-align:center;}#mermaid-svg-Z6UpGdMfUpl9jP5R .node.clickable{cursor:pointer;}#mermaid-svg-Z6UpGdMfUpl9jP5R .arrowheadPath{fill:#333333;}#mermaid-svg-Z6UpGdMfUpl9jP5R .edgePath .path{stroke:#666;stroke-width:2.0px;}#mermaid-svg-Z6UpGdMfUpl9jP5R .flowchart-link{stroke:#666;fill:none;}#mermaid-svg-Z6UpGdMfUpl9jP5R .edgeLabel{background-color:white;text-align:center;}#mermaid-svg-Z6UpGdMfUpl9jP5R .edgeLabel rect{opacity:0.5;background-color:white;fill:white;}#mermaid-svg-Z6UpGdMfUpl9jP5R .cluster rect{fill:hsl(0, 0%, 98.9215686275%);stroke:#707070;stroke-width:1px;}#mermaid-svg-Z6UpGdMfUpl9jP5R .cluster text{fill:#333;}#mermaid-svg-Z6UpGdMfUpl9jP5R .cluster span{color:#333;}#mermaid-svg-Z6UpGdMfUpl9jP5R div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:”trebuchet ms”,verdana,arial,sans-serif;font-size:12px;background:hsl(-160, 0服务器托管网%, 93.3333333333%);border:1px solid #707070;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Z6UpGdMfUpl9jP5R :root{–mermaid-font-family:”trebuchet ms”,verdana,arial,sans-serif;}
注意,如果无需超时设置,需要保证脚本无论执行多久一定成功,在Add build step的时候直接选择Execute shell,其他配置不变
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net