基于Github搭建Maven仓库的方法

5 篇文章 0 订阅
4 篇文章 0 订阅

基于Github搭建Maven仓库的方法
参考网址:
将新SSH密钥添加到您的GitHub帐户
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
基于Github搭建Maven仓库的方法
https://www.jianshu.com/p/3111bcf96cdf
将现在的GitHub公钥添加到网站上
https://help.github.com/articles/authorizing-an-ssh-key-for-use-with-a-saml-single-sign-on-organization/
生成新的SSH密钥并将其添加到ssh-agent
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#adding-your-ssh-key-to-the-ssh-agent

1. 将SSH密钥复制到剪贴板。
Shell命令行下,将公钥复制到剪贴板
$ pbcopy < ~/.ssh/id_rsa.pub

  1. 将SSH密钥复制到剪贴板。如果您的SSH密钥文件的名称与示例代码不同,请修改文件名以匹配当前设置。复制密钥时,请勿添加任何换行符或空格。

    $ pbcopy < ~/.ssh/id_rsa.pub 
    #将id_rsa.pub文件的内容复制到剪贴板

    提示:如果pbcopy不起作用,您可以找到隐藏.ssh文件夹,在您喜欢的文本编辑器中打开文件,然后将其复制到剪贴板。

  2. 在任意页面的右上角,单击您的个人资料照片,然后单击“设置”

  3. 在用户设置侧栏中,单击SSH和GPG密钥

  4. 单击“ 新建SSH密钥”或“ 添加SSH密钥”

  5. 在“标题”字段中,为新密钥添加描述性标签。例如,如果您使用的是个人Mac,则可以将此键称为“Personal MacBook Air”。
  6. 将密钥粘贴到“密钥”字段中。
  7. 单击“ 添加SSH密钥”。 
  8. 如果出现提示,请确认您的GitHub密码。

生成新的SSH密钥并将其添加到ssh-agent

在将新的SSH密钥添加到ssh-agent以管理密钥之前,您应该检查现有的SSH密钥生成新的SSH密钥将SSH密钥添加到代理时,请使用默认的macOS ssh-add命令,而不是macportshomebrew或其他外部源安装的应用程序。

  1. 在shell后台启动ssh-agent。

    $ eval "$(ssh-agent -s)" 
    #ssh-agent pid 59566
  2. 如果您使用的是macOS Sierra 10.12.2或更高版本,则需要修改~/.ssh/config文件以自动将密钥加载到ssh-agent中并在密钥链中存储密码。

    Host * 
    AddKeysToAgent yes 
    UseKeychain yes 
    IdentityFile ~/.ssh/id_rsa

     

  3. 将SSH私钥添加到ssh-agent并将密码存储在密钥链中。如果使用其他名称创建密钥,或者要添加具有不同名称的现有密钥,请将命令中的id_rsa替换为私钥文件的名称。

    $ ssh-add -K ~/.ssh/id_rsa

    注意:-K选项是Apple的标准版本ssh-add,当您向ssh-agent添加ssh密钥时,它会将密码链存储在您的钥匙串中。

    如果您没有安装Apple的标准版本,则可能会收到错误消息。有关解决此错误的详细信息,请参阅“ 错误:ssh-add:非法选项 - K”

  4. 将SSH密钥添加到您的GitHub帐户

添加密钥时的错误信息:git id_rsa are too open文件权限过大的解决方法

添加密钥时的密钥的文件的权限应为700.

1、文件属性,即文件的类型/读/写/执行等权限,共10个字符。

  • 第一个字符表示类型,后9个字符分3组,表示该文件对于当前用户(user)、当前用户所在组(group)、其他用户(other)的读/写/执行权限。

  • rwx:代表属主权限,-代表无权限;r代表具有可读权限; w代表具有可写权限;x代表具有可执行权限

# 修改(~)个人目录下的 .ssh 文件夹中的密钥权限为700
$ chmod 700 ~/.ssh/id_rsa

使用ssh -T git@github.com检查密钥和公钥是否加载成功。

$ ssh -T git@github.com
Hi vcfriend! You've successfully authenticated, but GitHub does not provide shell access.
嗨,我的朋友!您已经成功地进行了身份验证,但GITHUB不提供shell访问。

查看远端地址 git remote –v
查看配置 git config --list

 git remote –v       # 查看远端地址
 git config --list   # 查看配置 
 git add .           # 暂存所有的更改
 git checkout .      # 丢弃所有的更改
 git status          # 查看文件状态
 git commit -m "本次要提交的概要信息"    # 提交

重点需要检查的信息

user.name=“github用户名”
user.email=”用户邮箱“
remote.origin.url=https://github.com/“用户名”/maven

以下设置有误时会出现以下错误信息

fatal: Could not read from remote repository.的解决办法

密钥没有添加成功git命令时可能会出现的错误信息
Permission denied (publickey). fatal: Could not read from remote respository.解决办法

 

搭建过程

  1. 利用github网站中创建一个新的仓库,记下仓库地址:
    git@github.com:${github_account}/maven.git
  2. 进入 ${HOME}/.m2/repository/,初始化git本地仓库,添加员段地址。
$ cd ~/.m2/repository
$ git init
$ git remote add origin git@github.com:"用户名"/maven.git
# 初始化本地仓库,将本地仓库上传至远程仓库
  1. 创建.gitignore 将文件匹配符*加入其中, 并将.gitignore提交git本地仓库master分支
$ echo "*" >> .gitignore
$ git add .gitgnore
$ git commit -m 'add .gitignore by ignoring all'
  1. 分别创建分支snapshot与release并push至远端仓库,用于发布不同状态的artifects,默认情况切换至snapshot
$ git branch snapshot
$ git branch release
$ git push origin snapshot
$ git push origin release
$ git checkout snapshot
  1. 当开发完成发布新的artifects(例如com.github.${github_account}:${artifactId}:${version})时,首先利用mvn install 将artifects安装至本地maven仓库中 ~/.m2/repositor
$ cd ${project_root}
$ mvn install

然后,将需要发布对应版本的artifects所闻提交至本地git仓库中,然后push至对应的分支snapshot 或 release.

$ cd ~/.m2/repository
$ git add -f com/github/${github_account}/${artifactId}/${version}
$ git commit -m 'snapshot of com.github.${github_account}:${artifactId}:${version}'
$ git push origin snapshot
  1. 在pom.xml中使用maven artifact添加以下配置:
<project>
<!--Add repositories "添加自己的仓库地址"-->
    <repositories>
        <repository>
            <id>haoch-maven-snapshot-repository</id>
            <name>haoch-maven-snapshot-repository</name>
            <url>https://raw.github.com/${github_account}/maven/snapshot/</url>
        </repository>
        <repository>
            <id>haoch-maven-release-repository</id>
            <name>haoch-maven-release-repository</name>
            <url>https://raw.github.com/${github_account}/maven/release/</url>
        </repository>
    </repositories>
<!-- Add dependencies "添加项目依赖"-->
    <dependencies>
        <dependency>
            <artifactId>${artifactId}</artifactId>
            <groupId>com.github.${github_account}</groupId>
            <version>${version}</version>
        </dependency>
    </dependencies>
</project>

总结

Github 目前为止也许是最好的代码托管服务和社交编程平台,拥有非常好的开源分享文化,在这里分享可复用的maven artifact自然也是最佳选择。

Git原生提供的强大版本控制能力,在日常开发中必不可少,加上Github免费的git repository的静态raw访问服务,Github作为maven remote repository可以和日常开发工作有效的融合。



作者:Devid
链接:https://www.jianshu.com/p/3111bcf96cdf
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值