使用git+Jenkins部署代码
一、创建Git仓库
1.1 服务器上生成密钥
# ssh-keygen -t rsa # 密钥默认保存在家目录.ssh中
注册GitHub账号
注册GitHub账号,地址:https://github.com
1.2 配置GitHub的SSH key
1.3 测试连接
# ssh -T -p 443 git@ssh.github.com
1.4 创建项目仓库
1.5 配置本地仓库
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum -y install git-core# midkr /wh_k/git_house
# git init /wh_k/git_house/
初始化后,会在git_house目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
# vim /wh_k/git_house/test.php
# git add test.php # 写入缓存
# git config --global user.name 'wang'
# git config --global user.email 3511345@qq.com #Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以首先需要配置用户名和邮箱地址。
# git commit -m '第一次版本提交' # -m 注释
1.6 关联git本地仓库和Github远程仓库
获取远程仓库地址:https://github.com/wanghongkun01/PHP_test001
# git remote add origin https://github.com/wanghongkun01/PHP_test001 #本地仓库关联到Github
# git pull origin master #GitHub上提交东西的时候,会因为远程上有东西更新了但是本地仓库没有更新而造成提交失败,所以我们在push之前,都会pull一遍
1.7 代码上传到Github远程仓库
# git push origin master
报错信息
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/wanghongkun01/PHP_test001/info/refs
fatal: HTTP request failed
处理方法
打开开关看详细日志
# export GIT_CURL_VERBOSE=1
# git push
可以看到(The requested URL returned error: 401 Authorization Required),是权限问题导致的,可以修改.git/config文件追加用户名和密码:1)编辑.git/config文件
2)在[remote “origin”]下找到找到url变量
3)修改url = https://github.com/user/test.git,修改为url = ssh://git@github.com/user/test.git,修改完了保存
4)通过git push origin master进行同步,已经可以成功了
二、安装Jenkins
2.1 安装JDK
# yum install -y *jdk*
2.2 安装Tomcat9 (可省)
# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.17/bin/apache-tomcat-9.0.17.tar.gz
# tar -xzf apache-tomcat-9.0.17.tar.gz
# cd apache-tomcat-9.0.17/bin
# ./startup.sh
2.3 安装Jenkins
# wget https://prodjenkinsreleases.blob.core.windows.net/redhat/jenkins-2.169-1.1.noarch.rpm
# rpm -ivh jenkins-2.169-1.1.noarch.rpm
#service jenkins start
访问IP地址:http://ip地址:8080, 安装Jenkins。
2.4 获取安装密码:
# cat /var/lib/jenkins/secrets/initialAdminPassword
2.5 重启Jenkins服务
# service jenkins restart
2.6 破解admin登录密码
# cd /var/lib/jenkins/users/admin_3675641828925617147 #admin目录
# vim config.xml
passwd行修改为:
<passwordHash>#jbcrypt:$2a$10$pDQks0ytOkCfmpdgpLygrOC3uY7i/XnZHBKRQDhrBPwKoN2f5Kz8C</passwordHash> #修改密码为admin
三、代码发布
3.1 发布php程序
Jenkins服务器:192.168.61.128
远程服务器:192.168.61.129
3.2 查看插件是否安装
系统管理---管理插件---已安装 查看“Git plugin”和“Publish Over SSH”
未安装的先安装插件
重启renkins服务
# service jenkins restart
3.3 配置ssh互信
# ssh-keygen -t rsa # 密钥默认保存在家目录.ssh中
# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.61.129 #拷贝公钥至远程主机
3.4 配置Jenkins
3.5 构建项目
最后就是 “构建” ,最核心的一步,选择 “Send files or execute commands over SSH” (设置中所用目录是已经存在的目录):
3.5 发布代码至tomcat
放入gitub的包为war包,发布的目录为tomcat的webapps目录。
转载于:https://blog.51cto.com/13689359/2370071
使用git+Jenkins部署代码相关推荐
- 关于Jenkins部署代码权限三种方案
关于Jenkins部署代码权限三种方案 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.修改Jenkins进程用户为root [root@jenkins ~]# cat /etc ...
- git自动部署代码到服务器windows,Jenkins-在windows上配置自动化部署(Jenkins+Gitlab+IIS)...
Jenkins-在windows上配置自动化部署(Jenkins+Gitlab+IIS) web部署样例 windows服务部署样例 系统备份 在服务器上创建后缀名为.ps1的文件,例:BackUpD ...
- SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署
前言 本篇文章引导你使用Jenkins部署[SpringBoot项目],同时使用Docker和Git实现简单的持续集成和持续部署.(项目地址:sso-merryyou) 流程图如下: push代码到G ...
- Jenkins部署Git项目
今天小咸儿在Jenkins部署了一下Git的项目,因为小咸儿之前也没有构建过所以去网上寻找一下大神的博客,没想到真的找到一篇十分详细的博客.附上链接: jenkins部署Git项目 新的改变 ...
- GIt+jenkins代码自动上线
代码自动上线功能 企业部署代码上线是件比较麻烦的事情,还好我们有jenkins这个持续集成的软件可以帮助我们做很多的事情,现在我们就 来测试用jenkins推送代码上线. 我们这里测试的是一个html ...
- Jenkins 部署项目出现 Failed to connect to repository : Command git ls-remote -h http://gitlab. 128
Jenkins 部署项目出现 : Failed to connect to repository : Command "git ls-remote -h https://gitlab.com ...
- Jenkins部署项目时,git报错fatal: index file smaller than expected
@Jenkins部署项目时,git报错fatal: index file smaller than expectedTOC 最近在学习部署Jenkins时,微服务构建一直报错: Caused by: ...
- centos7下Gitlab+Jenkins部署持续集成CI环境
1.基本环境 主机:win10,IP:192.168.0.111:部署机器centos7,IP:192.168.0.65: 内存推荐到8G,实测需要6G以上,以免出现内存不够用而报错. 2.安装git ...
- springboot(十六):使用Jenkins部署Spring Boot
jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤: 第一步,jenkins安装 第二步,插件安装和配置 第 ...
- Jenkins部署SpringBoot应用到远程服务器
Jenkins部署SpringBoot应用到远程服务器 使用SpringBoot.SpringCloud写后台服务,也引入了当下比较流行的微服务的理念,模块也比较多.为了方便前期测试和后期线上部署更新 ...
最新文章
- HDU2176 【 Nim博弈】 SG函数求解
- Windows2008的安装
- leetcode51 --- solveNQueens
- bzoj 4517: [Sdoi2016]排列计数(错排+组合数逆元)
- 鸿蒙空间最高级,洪荒:我能进化万物
- 2017.11.21 MS Power BI training
- mac使用fish的时候添加可执行文件路径
- 【机器学习原理】KNN分类算法
- 2019上半年勒索病毒专题报告
- win7修复office图标显示不正确
- 【转】地址线和数据线的计算
- CH6202·黑暗城堡
- 使用python实现自动爬取得物交易记录,商品信息进行数据分析
- mysql报错信息1067_mysql 1067错误报错!这个是mysqld - -console得到的信息
- 5G步入规模化商用关键期
- 2013NET笔试题及答案
- centos离线配置yun源
- RK808去掉低于3.5V关机
- google hosts 设置
- Cyanine5 azide是一种花青素荧光染料,CAS:2183440-50-6
热门文章
- Sublim text3汉化
- phpstorm内网远程debug
- STM32的AD通道干扰问题
- 在dos下或web下Fatal Error: undefined function mysql_connect()
- 我的书《编写高质量代码—Web前端开发修炼之道》面市了,请大家多多支持
- GridView合并表头多重表头无错完美版(以合并3列3行举例)
- 虚拟机IP更换后 weblogic无法启动 java.net.BindException: 无法指定被请求的地址
- 2018 杭电多校2 - Naive Operations
- [linux]centos7.4上升级python2版本到python3.6.5 【安装双版本,默认python3】
- PCB设计之3W规则和20H原则