当前位置: 首页 > news >正文

遵义网站建设app注册推广团队

遵义网站建设,app注册推广团队,泰安房产中介公司,南昌网站建设模板文档Jenkins SVN GItlab3.1 JenkinsSVN3.1.1 搭建SVN服务器1. 安装svn server2. 查看svn安装位置3. 创建版本库目录4. 创建svn版本库5. 配置修改6. 防火墙开启3690端口7. 启动SVN-server8. 客户端访问svn服务器3.1.2 测试脚本提交3.1.3 jenkins下载代码配置1. 安装Subversion插件2.… Jenkins SVN GItlab3.1 JenkinsSVN3.1.1 搭建SVN服务器1. 安装svn server2. 查看svn安装位置3. 创建版本库目录4. 创建svn版本库5. 配置修改6. 防火墙开启3690端口7. 启动SVN-server8. 客户端访问svn服务器3.1.2 测试脚本提交3.1.3 jenkins下载代码配置1. 安装Subversion插件2. 创建工程3. 配置3.1.4 构建3.1.5 改为自动构建1. 构建触发器2. 执行结果3. 轮询日志3.2 JenkinsGitlab3.2.1 搭建gitlab服务器使用官方镜像搭建1. 安装docker及下载镜像2. 编写docker-compose.yml3. 启动容器4. 查看管理员密码5. 登录gitlab6. docker搭建3.2.2 搭建gitlab服务器使用beginor镜像搭建1. 下载镜像2. 启动容器3. 登录gitlab3.2.3 设置gitlab1. 新建用户2. 创建项目3. 项目添加用户4. 添加密钥5. 下载代码6. 上传代码7. 无法上传3.2.4 Jenkins配置gitlab1. 配置hello-world22. 节点机安装git3. 构建任务3.2.5 自动触发构建1. 创建触发器2. 添加webhook3. 修改Outbound requests4. Jenkins 远程触发 403 No valid crumb was included in the request5. 再测试钩子目前大部分公司的代码都是由SVN或者GIT管理下面我们将介绍如何通过jenkins链接到SVN/Gitlab实现自动编译代码 3.1 JenkinsSVN 我们先搭建个SVN服务器 3.1.1 搭建SVN服务器 1. 安装svn server yum -y install subversion2. 查看svn安装位置 [rootdbc-server-554 ~]# rpm -ql subversion /etc/subversion /etc/sysconfig/svnserve /run/svnserve /usr/bin/svn /usr/bin/svnadmin /usr/bin/svndumpfilter /usr/bin/svnlook /usr/bin/svnrdump /usr/bin/svnserve /usr/bin/svnsync /usr/bin/svnversion ...3. 创建版本库目录 此仅为目录为后面创建版本库提供存放位置。选择在var路径下创建版本库当前处于根目录下一次性创建如下 [rootdbc-server-554 ~]# cd /usr/local/share/;mkdir -p svn/svnrepos4. 创建svn版本库 创建版本库srclib命令如下 [rootdbc-server-554 svnrepos]# /usr/bin/svnadmin create srclib [rootdbc-server-554 svnrepos]# ls srclib [rootdbc-server-554 srclib]# ll total 8 drwxr-xr-x 2 root root 54 Feb 7 16:34 conf drwxr-sr-x 6 root root 233 Feb 7 16:34 db -r--r--r-- 1 root root 2 Feb 7 16:34 format drwxr-xr-x 2 root root 231 Feb 7 16:34 hooks drwxr-xr-x 2 root root 41 Feb 7 16:34 locks -rw-r--r-- 1 root root 229 Feb 7 16:34 README.txt5. 配置修改 [rootdbc-server-554 srclib]# cd conf/ [rootdbc-server-554 conf]# ll total 12 -rw-r--r-- 1 root root 1080 Feb 7 16:34 authz #负责账号权限的管理控制账号是否读写权限 -rw-r--r-- 1 root root 309 Feb 7 16:34 passwd #负责账号和密码的用户名单管理 -rw-r--r-- 1 root root 3090 Feb 7 16:34 svnserve.conf #svn服务器配置文件添加权限信息 [/] 表示根目录即 /var/svnreposyurq rw 表示用户yurq对根目录具有读写权限。 [rootdbc-server-554 conf]# cat authz ... # harry_and_sally rw # * r[/] yurqrw添加用户密码 [rootdbc-server-554 conf]# cat passwd ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line.[users] # harry harryssecret # sally sallyssecret root123456 yurq123456修改svnserver.conf [general] anon-access none # 匿名用户不可读写也可设置为只读 readauth-access write # 授权用户可写 password-db passwd # 密码文件路径相对于当前目录 realm /usr/local/share/svn/svnrepos # 认证命名空间会在认证提示界面显示并作为凭证缓存的关键字可以写仓库名称比如svnrepos #authz-db authz # 访问控制文件这条一定不要放开否在远程连接不会弹出叫你输入用户密码的然后一直显示认证失败 [rootdbc-server-554 conf]# cat svnserve.conf ... [general] ... # anon-access read # auth-access write ... password-db passwd ... # authz-db authz ... realm /usr/local/share/svn/svnrepos ... # force-username-case none[sasl] ... # use-sasl true ... # min-encryption 0 # max-encryption 256 6. 防火墙开启3690端口 firewall-cmd --zonepublic --add-port3690/tcp --permanentfirewall-cmd --reload7. 启动SVN-server [rootdbc-server-554 svnrepos]# /usr/bin/svnserve -d -r . [rootdbc-server-554 svnrepos]# ps -ef |grep svn root 27993 1 0 16:58 ? 00:00:00 /usr/bin/svnserve -d -r . root 27996 26901 0 16:58 pts/0 00:00:00 grep --colorauto svn8. 客户端访问svn服务器 在windows客户端输入地址svn://ip地址:3690/xxxx iP地址为你linux的ipxxxx为前文创建的版本库名称,3690为svn默认端口弹出输入用户名和密码输入即可访问 在linux服务器输入命令测试 [rootdbc-server-554 svn]# svn co svn://192.168.5.54:3690/srclib Checked out revision 0. [rootdbc-server-554 svn]# ll total 0 drwxr-xr-x 3 root root 18 Feb 7 17:02 srclib到这里SVN搭建完成 3.1.2 测试脚本提交 我们写个测试脚本提交到svn 打印hello world及次号 3.1.3 jenkins下载代码配置 1. 安装Subversion插件 进入jenkins插件管理页面在有效插件页面搜索Subversion Plug-in插件下载并安装。 2. 创建工程 选择自由风格创建hello-world限制运行节点为Node-1 3. 配置 配置源码管理中的svn 添加svn凭据 编写执行语句 3.1.4 构建 点击立即构建查看运行结果 3.1.5 改为自动构建 我们复制hello-world工程并修改代码 1. 构建触发器 构建触发器分两种 定时构建Build periodically例如每天18点准时触发定时检查源码Poll SCM构建若有变更则拉取代码进行构建两种触发方式。 这里我们使用定时检查源码轮询构建两分钟轮询一次 2. 执行结果 3. 轮询日志 3.2 JenkinsGitlab 我们使用docker compose搭建gitlab顺便巩固下前段时间的知识 3.2.1 搭建gitlab服务器使用官方镜像搭建 使用官方镜像搭建 1. 安装docker及下载镜像 由于我们使用docker compose搭建gitlab所以需要安装docker和docker compose安装方法 docker安装 docker compose安装 安装完成后查看版本 [rootdbc-server-554 gitlab]# docker -v Docker version 23.0.0, build e92dd87 [rootdbc-server-554 gitlab]# docker-compose -v Docker Compose version v2.15.1下载镜像 [rootdbc-server-554 gitlab]# docker search gitlab/gitlab-ce NAME DESCRIPTION STARS OFFICIAL AUTOMATED gitlab/gitlab-ce GitLab Community Edition docker image based … 3804 [OK] gitlab/gitlab-ce-qa GitLab QA has a test suite that allows end-t… 9 [rootdbc-server-554 gitlab]# docker pull gitlab/gitlab-ce2. 编写docker-compose.yml [rootdbc-server-554 gitlab]# cat docker-compose.yml version: 3.6 services:web:image: gitlab/gitlab-ce:latestrestart: alwayshostname: 192.168.5.54environment:GITLAB_OMNIBUS_CONFIG: |external_url http://192.168.5.54:8929gitlab_rails[gitlab_shell_ssh_port] 2224ports:- 8929:8929- 2224:22volumes:- $GITLAB_HOME/config:/etc/gitlab- $GITLAB_HOME/logs:/var/log/gitlab- $GITLAB_HOME/data:/var/opt/gitlabshm_size: 256m3. 启动容器 [rootdbc-server-554 gitlab]# docker-compose up -d WARN[0000] The GITLAB_HOME variable is not set. Defaulting to a blank string. WARN[0000] The GITLAB_HOME variable is not set. Defaulting to a blank string. WARN[0000] The GITLAB_HOME variable is not set. Defaulting to a blank string. [] Running 1/1⠿ Container gitlab-web-1 Started 1.2s [rootdbc-server-554 gitlab]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 17255ad00ec0 gitlab/gitlab-ce:latest /assets/wrapper 19 hours ago Up 4 seconds (health: starting) 80/tcp, 443/tcp, 0.0.0.0:8929-8929/tcp, :::8929-8929/tcp, 0.0.0.0:2224-22/tcp, :::2224-22/tcp gitlab-web-14. 查看管理员密码 默认管理员账号为root密码如下获取 [rootdbc-server-554 ~]# docker exec -it 01 grep Password: /etc/gitlab/initial_root_password Password: wqJ14qc4Om783V/pedOkPz/BSEhN8FywX3PybdSjKKw5. 登录gitlab 访问:http://192.168.5.54:8929 6. docker搭建 也可以使用docker 启动容器 # 启动容器 docker run -itd -p 9980:80 -p 9922:22 -v /home/gitlab/etc:/etc/gitlab -v /home/gitlab/log:/var/log/gitlab -v /home/gitlab/opt:/var/opt/gitlab --restart always --privilegedtrue --name gitlab gitlab/gitlab-ce使用官方镜像搭建严重卡顿修改缓存等仍未解决由于此处主要介绍jenkinsgitlab所以还是以jenkins为主。 3.2.2 搭建gitlab服务器使用beginor镜像搭建 1. 下载镜像 docker pull beginor/gitlab-ce2. 启动容器 docker run --detach --publish 8443:443 --publish 8080:80 --name gitlab --restart unless-stopped --volume /home/gitlab/etc:/etc/gitlab --volume /home/gitlab/log:/var/log/gitlab --volume /home/gitlab/data:/var/opt/gitlab beginor/gitlab-ce:latest3. 登录gitlab 这个版本的gitlab第一次登录需要设置密码账号为root 3.2.3 设置gitlab 1. 新建用户 建议在生产环境中新建用户并设置好权限管理请谨慎使用。 保存后刷新页面给用户添加密码 2. 创建项目 3. 项目添加用户 4. 添加密钥 我们需要把公钥配置到git配置之后才能使用该账号下载代码 为账号yurq添加SSH-key [rootk8s-node-02 ~]# ssh-keygen -t rsa -C yurqqq.com -b 4096 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:K5r/hzhqTD660uc2bUeQ7TnZ0yKSW2xTDvRf75swg yurqqq.com The keys randomart image is: ---[RSA 4096]---- | | | | | . | | o .o . | | . S o | | . * o o | | B . X. E o ..| | o o. o.*o..| | .o ..oo.| ----[SHA256]----- [rootk8s-node-02 ~]# cat /root/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDrZj8Hp7tWt5kPBqO2YDOikZB6A8Q6NNbGrrQVxi16Ly4TTWXeYQRBH/7NTMmXv1G51LpZiTfKxy1CLBBOtJeoBxbXr6f2zHVIjGHos7NNVSGq/xPFMjubghi8ow0s8SQFmypIm25hG/bX9L1ul7uAWy6Tvy3Qsq4d/PBEMGiTtpvy4nL2BANEgyOQ0vxPrmALh3G/qL99Jq72mhdxCOdW/fqJ6nMj1k44gNvn/FStDeqFA3FZEkARobynZSWUNWhAEyGhiS1HqYZMwq2jkZiZPJdK1GA3bigsi76lrVwK8AgmzAOrDRItwTRmhn32tmObbsWFWyHLd0Qwhlss5dkhkwH5FdRITGdn9aoVBINODhPaPYp7b2xwDIC3uqG6BHjbV9VHxCFyQxCme0oTIBZHdL6lDtn4kaPXuFAL41FNUaK7yuMg4W/cuXmrBNl6N8SccuW3Syul/wphZBW9aCxvDdArv/b8dEdK1Gk5Oiu7iFxsoqfPTwsS/YE3damqMEcMLjKP6xyZRB3WV3EIu9WHGErgy3yBim1uB42oK/GahFzCXtzbKH2bH6kno8K418Dqh2rh3qIBsDaSPqzjoWA76HIji/7URUYVtLZMGT5B3cMI9xh/ELplZjBmWUzeOc25HTioHJ7jo3QnQ7PFYGHCXoVq7Ew yurqqq.com5. 下载代码 由于我们的gitlab是由容器启动所以url显示的主机地址是容器id此处我们需要修改为启动容器的服务器socket 把空目录下载到本地然后编辑代码上传笔者使用TortoiseGit遇到git did not exit cleanly (exit code 128)问题参考网上设置反复修改包括改凭据改ssh.exe添加putty key等等方法仍不能解决 后来索性在命令行执行(windows服务器) F:\workspace\yurq\tmp\gitlabgit clone http://192.168.5.54:8080/root/hello-world.git Cloning into hello-world... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done.终于将目录下载到本地 6. 上传代码 上传代码也遇到提示数据账号、邮箱等信息在TortoiseGit进行简单设置就可以解决 以上问题可能由于设置的项目为私有项目造成的 7. 无法上传 如果遇到实在无法解决的情况可以重新创建公共项目包括添加用户等 再解决不了可以看下git免密登录等 3.2.4 Jenkins配置gitlab 曲曲折折终于回到了Jenkins配置 1. 配置hello-world2 新建任务hello-world2节点还是选择Node-1源码管理处选择git并进行配置。 2. 节点机安装git 需要在节点机安装git [rootk8s-node-02 ~]# yum install git Repository base is listed more than once in the configuration Repository updates is listed more than once in the configuration Repository extras is listed more than once in the configuration Repository centosplus is listed more than once in the configuration base | 3.6 kB 00:00:00 ...3. 构建任务 笔者也是第二次构建才成功第一次失败是因为没有在节点安装git 3.2.5 自动触发构建 1. 创建触发器 jenkins复制hello-world2项目并命名为hello-world-webhook打开项目 选择Build when a change is pushed to GitLab. GitLab webhook URL: http://192.168.70.183:8080/project/hello-world-webhook 记录URL Secret token点击Generate记录Secret token配置gitlab webhook需要使用 2. 添加webhook gitlab在hello-world2项目设置集成创建webhook 3. 修改Outbound requests gitlab配置修改如果不允许钩子…则会出现访问500问题 4. Jenkins 远程触发 403 No valid crumb was included in the request 创建完钩子进行test发现出现403 No valid crumb was included in the request原因 大部分是由跨站请求伪造保护开启导致高版本jenkins如果要关闭使用以下方法 在脚本命令行运行hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION true 出现如下界面则表示成功 5. 再测试钩子 可以看到已经成功了 然后编辑代码提交推送 很遗憾笔者这里自动构建设置未能成功但是方法是没问题的此处后续再进行改善等问题解决了再更新本文章
http://www.hkea.cn/news/14405364/

相关文章:

  • 个人做多个网站备案超级门户博客版wordpress主题
  • 郑州网站制作专业乐云seo石家庄网站建设加王道下拉
  • 最近网站改版文章突然不收录能看街景的软件
  • 国企网站建设会议纪要短视频代运营方案策划书
  • 南宁企业网站设计公司做报纸网站
  • 网站建设logo尺寸seo还能赚钱吗
  • wordpress动漫视频网站新浪云计算 网站开发
  • 宁夏自治区建设厅官方网站济南网站seo公司
  • 网站怎么适配移动端东营区综合频道在线直播观看
  • 网站展示型推广有哪些西安广告公司排名
  • 塔城网站seo建设网站赚钱的方法
  • 如何选择一家好的网站建设公司pc端网页设计模板
  • 做网站用的大图东莞阳光网招聘信息平台
  • 网站建设实录音乐中国建设监理网站
  • 免费p站推广网站入口建筑企业资质新规定2022
  • vps除了做网站还能做什么绵阳公司网站建设
  • 合肥网站制作QQ沧州市东光建设局 网站
  • 淮南电商网站建设费用流量网站怎么做
  • 网站更新中调颜色网站
  • 互诺 网站好吗WordPress插件ckplayer
  • 网站建设合同书注意事项网站建设开发案例
  • 广州seo网站推广公司上杭县住房和城乡建设局网站
  • 微信第三方网站开发教程互联网品牌推广
  • 有免费建站的网站营销宣传策划方案
  • 用本机做网站浏览怎样在百度上做免费推广
  • 网站内做营销活动使用工具新手怎么做网络推广
  • 网站建立初步教案高校网站建设的时效性
  • rest api 做网站wordpress投稿收费吗
  • 建设网站设计专业服务高端公司网站设计
  • 哪个软件可以做明星视频网站wordpress 被写入文件