0
45
¥ 39.00
开通会员,立省3.90元, 立即开通
立即购买

你将收获

零基础掌握企业团队协作开发必备git技能

自行搭建企业内部gitlab服务器并配置权限

最终整合jenkins进行敏捷持续集成、分布式构建

适用人群

全体开发、运维、测试人员

课程介绍

Jenkins持续集成 Git Gitlab Sonar(sonar jenkins )视频培训课程: 从基础掌握企业团队协作开发必备git技能、自行搭建企业内部gitlab服务器并配置权限,最终整合jenkins进行敏捷持续集成、分布式构建。形成贯穿企业日常开发必备技能链。包含git安装使用、gitlab安装配置及使用、编译安装mysql、jenkins持续集成、分布式构建、linux环境实操等主流技术。

课程讨论

可以给下笔记么?

同学笔记

  • m0_37467530 2020-06-25 18:22:24

    来源:敏捷持续集成简介 查看详情

    -----1.什么是分支
      软件项目中启动一套单独的开发线的方法
    2.为什么使用git
      1.可以很好的避免版本兼容开发的问题,避免不同版本之间的相互影响。
      2.封闭一个开发阶段
      3.解决bug的时候新建分支,用于对该bug的研究
    3.git中跟分支相关的命令
      git branch 分支名
      git branch 不加任何参数,列出所有的分支,分支前面的*号,代表该分支为当前所在分支
      * 创建分支的时候,分支名不要使用特殊符号
      git branch -d 分支名
      * 不能删除当前所在的分支
      git branch -m 旧分支名 新分支名

      git checkout 分支名 切换分支
      *如果在分支上面对文件进行修改之后,没有commit后就切换到另外一个分支B,这个时候会报错,因为没有commit的文件在切换分支之后会被覆盖,所以git分报错提示
      git checkout -f 分支名 强制切换到分支,如果当前没有提交变更,会直接丢弃。
      * -f 参数一定定要非常非常小心使用,一般情况下不建议使用,除非真的要强制去执行。

    ----- 追根溯源--git log
     log命令的使用
      用于查看git的提交历史
     git log命令显示的信息的具体含义
      commit: d9sa8f7asf8s9f08a9s786asgasf98s8df9a0sf8sa --
      Author: wiggin(wiggin@gmail.com> -- 作者跟邮箱概要信息
      Date: wed may 时间
      v2 -- commit的时候,使用 -m选项说写一段概要说明
      日常 在使用commit的时候, -m 选项所写的内容不定不能随便写
     git log -数字  表示查看最近几次的提交
     git log -p -数字 显示最近2次提交的不同点
     git log --author  查看具体某个作者的提交
     git log -- oneline 输出简要的信息
     git log --graph 以一个简单的线串联起整个提交历史
     git log 输出信息的定制

    ----- 文件对比利器 -- git diff
    diff --> difference的缩与,用于比较差异
    使用场景:
        1.解决冲突
        2.制作补丁
    git diff 不加任何参数用于比较当前工作区跟暂存区的差异
    git diff --cached 或者 -- staged
    git diff HEAD 
    git diff 分支名 查看当前分支跟指定的分支的差异
    git diff 分支名1 分支名2 查看两个指定分支的差异
    git diff 文件名 查看指定文件的差异
    git diff commitid1 commitie2 用于列出两个历史提交的差异
    git diff 分支名 --stat 列出哪出文件有差异变更 

    ----- git更改提交
    1。将不必要的文件add
    2. 上次提交觉得是错的
    3. 不想改变暂存区内容,只是想调整提交的信息
    4. 版本回滚
     git reset HEAD 文件名  移除不必要的添加到暂存区的文件
     git reset HEAD^ 或者 commitid 去掉上一次的提交
     git reset --soft HEAD^ 修改上次提交的信息,即commit -m "修改这里的内容"
     git reset --soft   只是将HEAD引用指向指定的提交,工作区跟暂存区的内容不会改变
     git reset --mixed  (默认选项)将HEAD指向指定的提交,暂存区的内容随之改变,工作区内容不变
     git reset --hard   将HEAD指向指定的提交,暂存区跟工作区都会改变

     ----- 落叶归根 --分支合并及冲突解决
     分支的合并
     git merge 分支名 
         表示: 拿指定的分支名与当前分支进行合并
     git diff --name-only --diff-filter-U  用于查看产生冲突的文件 


    ----- git的标签
    git tag 不加任何参数,表示显示标签(以字母序),非按时间
    git tag 标签名 默认是给最近的一次提交打上标签
    git tag 标签名 commitid
    git show 标签名 显示该标签相关的那次提交的相关信息
    git tag -d 标签名 删除该标签
    git push 远程分支名  标签名  把某个标签(必须是本地已存在原,否失败)推送到远程服务器上
    删除远程标签的步骤
    1.删除本地的标签 git tag -d 标签名
    2.删除远程的标签 git push orgin :refs/tags/标签名


    ------ gitignore文件
    为什么要使用.gitignore文件
    大量与项目无关的文件全推到远程仓库上,同步的时候会非常慢,且跟编辑器相关的一些配置推上去之后,别人更新也会受其影响。所以,我们使用相关文件,对不必要的文件进行忽略,使其不被git追踪
    一把情况下, .gitignore文件,在项目一开始创建的时候就创建,并推送到远程服务器上,这样子初次同步项目的时候,就是用到该文件,避免以后,团队成员把与项目无关的文件,传到远程服务器上。

    *.log 表示忽略项目中所有以.log结尾的
    123?.log 表示忽略项目中所有的以123加任意字符的文件
    /error.log 表示忽略项目中根目录中的error.log 这个文件
    src/main/test/* 表示忽略/src/main/test/目录下的所有文件
    *.class 
    **/java 匹配所有的java目录下的所有文件

    !/error.log 表示在之前的匹配规则下,被命中的文件,可以使用!对前面的规则进行忽略

    已推送怎么办?
    对于已经提交到远程或本地仓库的文件。.gitignore配置之后不会生效。我们必须先删除本地暂存区里的文件,之后在加上。gitgnore文件,最后再把变更提交到远程仓库上。
    git rm --cached 文件名 从暂存区删除某个文件
    git rm -rf --cache 文件夹, 表示递归删除暂存区该文件夹的所有东西


    ----- gitlab简介
    1. gitlab是什么
      是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的Web服务。
      基础功能免费,高级功能收费
    2. 为什么使用Gitlab
      1.基础功能开源,可自行搭建。
      2.可心进行权限控制,使得代码对部分人可见。

    ----- gitlab的安装

    1.linux必要配置
        在防火墙里开放http跟ssh端口
            yum install lokkit
            yum install curl openssh-server openssh-clients postfix cronie -y 
            service postfix start
            chkconfig postfix on 
            lokkit -s http -s ssh
        添加gitlab仓库并安装
            curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
            sudo yum install gitlab-ce
        启动gitlab
            gitlab-ctl reconfigure
            vim /ect/gitlab/gitlab.rb
            修改external_url
            gitlab-ctl reconfigure
            gitlab-ctl restart
        配置防火墙
            vim /etc/sysconfig/iptables
            -A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT


    ----- gitlab邮箱服务
    配置邮箱服务的用途
    1.有合并请求时,邮件通知
    2.账号注册时,邮件验证
    3.修改密码时,通过邮件修改
    配置步骤
    1.开启QQ邮箱的smtp服务(不建议163邮箱,发几次之后就不能发送)
    设置--》帐户--》smtp-->密保验证--》验证成功返回一串字符串,形妆如(asdfsadfasfdsdfasdfaf)
    保存返回的字符串
    2.修改gitlab配置
    vim /etc/gitlab/gitlab.rb
    gitlab-ctl reconfigure
    3.测试邮件服务是否正常
    gitlab-rails console
    Notify.text_email('接收方邮件地址','邮件标题','邮件内容').deliver_now


    ----- gitlab组配置
    1.开启注册邮箱验证
     admin area -->setting--> Sign-up restrictions-->勾选Send confirmation email on sign-up
    2.当前用户
     root 123 wiggin
    3. 创建组
      首页-->create a group(http://192.168.56.101:8888/dashboard/groups)
      访问级别
      private:只有组成员才能看到
      Internal: 只要登录的用户就能看到
      Public: 所有人都能看到
     Guest:可以创建issue 发表评论 不能读写版本库
     Reporter: 可以克隆代码,不能提交
     Developer: 可以克隆代码、开发、提交、push
     Master: 可以创建项目、添加tag 、保护分支、添加项目成员、编辑项目
     Owner:可以设置项目访问权限  -Visibility Level 删除项目 迁移项目 管理组成员

     ssh -- https访问
     1.键入命令:ssh-keygen -t rsa
     2.提醒你输入key的名称,输入如id_rsa
     3.在C:\Users\Adminsitrator\.ssh下产生两个文件:id_rsa和id_rsa.pub
     4.用词本打开id_rsa.put文件,复制内容,在gitlab.com的网站上到ssh密钥管理页面,添加新公钥、随便取个名字,内容粘贴刚才复制的内容。

     ----- gitlab分支及标签保护
     为什么要保护分支
         保护特定的分支不用随便合并,以免影响其他分支
         

  • m0_37467530 2020-06-25 11:18:53

    来源:git的文件状态 查看详情

    1.什么是分支

    软件项目中启动一套单独的开发线的方法

    2.为什么使用git

    1.可以很好的避免版本兼容开发的问题,避免不同版本之间的相互影响。

    2.封闭一个开发阶段

    3.解决bug的时候新建分支,用于对该Bug的研究

     

     

没有更多了