use CSDN CODE to pull openstack codes

2014-11-20

Author:Hyphen

问题

直接从GITHUB上获代替码,常常是没保障,特别是用DEVSTACK的时候,常常超时,所以我想到了每天把GITHUB上的代码更新到本地的想法。

但本地还要搞一套GIT服务环境,并且也仅仅是自己用,为何不使用公开的软件库呢,之前记得OSCHINA和CSDN 都搞GIT。相比之下,使用了CSDN CODE,使用起来就跟GITHUB一样,但有个问题是容量如今默认仅仅给我一个G,昨天把OPENSTACK,OPENSTACK-DEV,STACKFORGE这三个文件夹下。DEVSTACK安装时要用到的库都同步了下,大半个G。

解决方式

我就是在我本地一个实例上。为每一个软件库建立一个文件夹,然后PULL GITHUB上的代码,切换远程URL为CSDN CODE我的软件库,PUSH代码。这些都写了个循环的脚本来做。初定每天更新一次。定时。 CSDN CODE我的软件库 https://code.csdn.net/yanheven1/

sync_git.sh

  1. #!/bin/sh -x
  2. PROJECT=("ceilometer" "cinder" "glance" "heat" "horizon" "ironic" "keystone" "neutron" "nova" "sahara" "swift" "trove" "requirements" "tempest" "tempest-lib" "python-ceilometerclient" "python-cinderclient" "python-glanceclient" "python-heatclient" "python-ironicclient" "python-keystoneclient" "python-neutronclient" "python-novaclient" "python-saharaclient" "python-swiftclient" "python-troveclient" "python-openstackclient" "cliff" "pycadf" "stevedore" "taskflow" "glance_store" "heat-cfntools" "heat-templates" "django_openstack_auth" "keystonemiddleware" "diskimage-builder" "os-apply-config" "os-collect-config" "os-refresh-config" "tripleo-image-elements" "ironic-python-agent")
  3. PROJECT_STACKFORGE=("swift3" "wsme" "pecan" "sqlalchemy-migrate")
  4. PROJECT_OPENSTACK_DEV=("pbr" "devstack")
  5. PROJECT_OSLO=("oslo.concurrency" "oslo.config" "oslo.context" "oslo.db" "oslo.i18n" "oslo.log" "oslo.messaging" "oslo.middleware" "oslo.rootwrap" "oslo.serialization" "oslo.utils" "oslo.vmware")
  6. PROJECT_OSLO_NAME=("oslo-concurrency" "oslo-config" "oslo-context" "oslo-db" "oslo-i18n" "oslo-log" "oslo-messaging" "oslo-middleware" "oslo-rootwrap" "oslo-serialization" "oslo-utils" "oslo-vmware")
  7. for pro in "${PROJECT[@]}";do mkdir /home/$pro;done
  8. for pro in "${PROJECT_STACKFORGE[@]}";do mkdir /home/$pro;done
  9. for pro in "${PROJECT_OPENSTACK_DEV[@]}";do mkdir /home/$pro;done
  10. for pro in "${PROJECT_OSLO[@]}";do mkdir /home/$pro;done
  11. GIT_OPENSTACK=https://github.com/openstack
  12. GIT_STACKFORGE=https://github.com/stackforge
  13. GIT_OPENSTACK_DEV=https://github.com/openstack-dev
  14. GIT_CSDN=git@code.csdn.net:yanheven1
  15. for pro in "${PROJECT[@]}"
  16. do
  17. cd /home/$pro
  18. git init
  19. git remote add origin $GIT_OPENSTACK/$pro.git
  20. git pull origin master
  21. git remote rm origin
  22. git remote add origin $GIT_CSDN/$pro.git
  23. git push origin master
  24. git remote rm origin
  25. done
  26. for pro in "${PROJECT_STACKFORGE[@]}"
  27. do
  28. cd /home/$pro
  29. git init
  30. git remote add origin $GIT_STACKFORGE/$pro.git
  31. git pull origin master
  32. git remote rm origin
  33. git remote add origin $GIT_CSDN/$pro.git
  34. git push origin master
  35. git remote rm origin
  36. done
  37. for pro in "${PROJECT_OPENSTACK_DEV[@]}"
  38. do
  39. cd /home/$pro
  40. git init
  41. git remote add origin $GIT_OPENSTACK_DEV/$pro.git
  42. git pull origin master
  43. git remote rm origin
  44. git remote add origin $GIT_CSDN/$pro.git
  45. git push origin master
  46. git remote rm origin
  47. done
  48. for ((i=0;i<12;i++))
  49. do
  50. cd /home/${PROJECT_OSLO[$i]}
  51. git init
  52. git remote add origin $GIT_OPENSTACK/${PROJECT_OSLO[$i]}.git
  53. git pull origin master
  54. git remote rm origin
  55. git remote add origin $GIT_CSDN/${PROJECT_OSLO_NAME[$i]}.git
  56. git push origin master
  57. git remote rm origin
  58. done

然后定时运行:

  1. 0 * * * * sh /home/git.sh

最后改动下DEVSTACK以下的stackrc文件里的软件库URL就可以使用:

  1. sed -i "s/{GIT_BASE}\/openstack\/oslo./{GIT_BASE}\/oslo-/g" /home/stack/devstack/stackrc
  2. sed -i "s/{GIT_BASE:-git:\/\/git.openstack.org}/{GIT_BASE:-https:\/\/code.csdn.net\/yanheven1}/g" /home/stack/devstack/stackrc
  3. sed -i "s/{GIT_BASE}\/stackforge/{GIT_BASE}/g" /home/stack/devstack/stackrc
  4. sed -i "s/{GIT_BASE}\/openstack/{GIT_BASE}/g" /home/stack/devstack/stackrc
  5. sed -i "s/{GIT_BASE}\/openstack-dev/{GIT_BASE}/g" /home/stack/devstack/stackrc

使用CSDN CODE来存放OPENSTACK位于GITHUB上的源代码的更多相关文章

  1. GitHub上下载源代码的方法

    GitHub上找到自己要下载的项目以后,有3种方法可以下载源代码. 第一种是复制该项目的地址,然后用其他软件下载: 第二种是安装了官方客户端,可以直接点击"Clone in Desktop& ...

  2. 微软在GitHub上开放源代码

    https://github.com/MSOpenTech 点击链接:openFrameworks :https://github.com/openframeworks/openFrameworks ...

  3. CSDN CODE平台,中国版Github简要使用说明!(多图慎入)

    楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什么难度.然后就没有然后了... 完全看不懂,不知道怎么用. 一次偶然的机会 ...

  4. CSDN CODE平台,中国版Github简要使用说明

    CSDN CODE平台,中国版Github简要使用说明!(多图慎入)   楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什 ...

  5. Android github上的好的开源项目汇总

    转自:http://blog.csdn.net/ithomer/article/details/8882236 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于 ...

  6. Git运用基础之如何删除Github上不想要的项目

    今天突然想删除,(强迫症想删除)之前练习时多创建的多个Github上的源代码或者无用Demo地址,然后看了一些文章都比较老式,这里我展示一下最新的删除步骤. 一.首先登录自己的Github账户主页(没 ...

  7. 如何从github上clone项目源码-linux

    前言 github是目前较为流行的代码托管网站,linux系统是目前开发人员较为常用的操作系统.项目实现的过程中用到一些经典好用的源代码,可以从github上clone,本文主要介绍linux系统命令 ...

  8. 从Github上下载了项目,导入Android Studio,gradle 报错,应该怎么修改

    一.从Github上获取源代码 我这里是直接下载ZIP文件 二.在本机的Android Studio上新建一个空白项目,目的主要是与刚从Github上下载的项目文件结构做对比 三.替换gradle文件 ...

  9. 使用CSDN Code将网站部署到Windows Azure Website上

    在云计算时代,开发和部署应该是完全统一和集成的.在海外,开发者可以用github来管理他们的代码,并且直接部署到Windows Azure上.随着Windows Azure在国内的发布,我们发现,其实 ...

随机推荐

  1. 129 - Krypton Factor

    /*UVa129 - Krypton Factor --回溯问题.看例子可知道确定该字符串是按照从左到右依次考虑每个位置,当前位置填不上所有的字符时,需要回溯. -- */ #define _CRT_ ...

  2. centos7 安装LNMP(php7)之 nginx php-fpm yum安装以及配置文件修改

    PHP7.1.6整体参考 https://www.zhihu.com/question/50615606/answer/145699091 http://www.bubuko.com/infodeta ...

  3. 【TCP/IP】IP路由选择

    IP层在内存中有一个路由表,当有数据要发送时.它要对该表进行一次搜索以确认转发地址.收到的数据到达IP层时,IP层会检查数据报的目的地址是否为本机IP或广播IP: 假设是.就依据IP首部协议字段的协议 ...

  4. XShell命令行使用

    1.建立连接: 2.查看总体目录: 3.查看对应服务目录: 4.删除对应jar包后,再查看目录下文件: 5.上传对应的jar文件: 6.重启服务 7.查看服务日志: 8.mv old-name new ...

  5. 转: 理解UDDI (from IBM Dev)

    from: http://www.ibm.com/developerworks/cn/webservices/ws-featuddi/index.html 何为 UDDI? UDDI 项目鼓励 Web ...

  6. Mybaits的特点及优点

    1.SQL语句和代码分离 便于统一管理和维护,不必再Java代码中调式SQL语句.但是当SQL语句出错时,控制台不会打印Log, 解决办法--引用log4j 2.用标签拼接SQL语句 用标签代替JAV ...

  7. 【Scala-ML】怎样利用Scala构建并行机器学习系统

    引言 在学习Scala的过程中,我发现其在构建大规模分布式计算系统上有与生俱来的特质. 其丰富的类型系统能够帮助编程设计提供非常好的信息隐藏和抽象,其monoids和monads概念利用Scala高阶 ...

  8. bat 处理文件路径 (所在目录,文件名,文件后缀名,完整文件名,无后缀路径)

    echo off setlocal enabledelayedexpansion set "EXCEL_DIR=%cd%\excel" for /R %EXCEL_DIR% %%f ...

  9. 网络设备 | Cisco设备镜像文件损坏无法启动处理(tftp + rommon模式)

    从正常的设备上通过tftp下载.bin镜像(G0/0口与pc设置同一网段互通) 进入坏的路由器rommon模式 在没有IOS情况下,默认进入了ROMMON模式:在ROMMON模式下输入以下命令设置f0 ...

  10. 基于Android Classic Bluetooth的蓝牙聊天软件

    代码地址如下:http://www.demodashi.com/demo/12133.html BluetoothChat 基于Android Classic Bluetooth的蓝牙聊天软件,目前仅 ...