zoukankan      html  css  js  c++  java
  • 利用git管理代码版本, 并且和服务器同步

      上一次部署服务器好像已经是很久以前的事情了,  最近一段时间线上的内部工具都没出什么大问题, 最近提交都用svn, 都快忘了git 怎么用了。

      这次好好记录下来, 免得以后忘了又导出查找。

      第一步, 初始化git 仓库将代码纳入版本管理

      1.注意在本地 .gitignore 防止不需要的文件被上传到服务器

          /log/*  

          !/log/.keep

          /tmp

          /public/tmp

          /config/database.yml

      2.前往服务器    

        然后切换到阿里云上面  ssh xxx@xxx.xxx.xxx.xxx, 切换到待部署目录, mkdir a_new_app_name, 进入新建目录, git init 。

        让仓库接受代码提交
                    git config receive.denyCurrentBranch ignore
                    [可选] git config core.worktree ~/www
                    [可选] git config --bool receive.denyNonFastForwards false #禁止强制推送
         

                现在git在远程服务器上的地址为: ssh://xxx@xxx.xxx.xxx.xxx/应用部署目录在服务器上的路径/.git

       3.回到本地

        将远程服务器添加到本地仓库的远程仓库列表,使用名字来区分不同的服务器,如测试服务器可以叫做testing
                 git remote add testing ssh://deployuser@ipaddress/var/www/html/deploy/.git

        将本地代码提交到测试服务器上面
                    git push testing master

        切到服务器代码部署目录 git checkout -f

      第二步, 上传数据, 把数据部署到数据库

        从数据库导出数据:  

          1.导出整个数据库: mysqldump -u用户名 -p密码  数据库名 > 导出的文件名 

          2.导出一个表,包括表结构和数据: mysqldump -u用户名 -p 密码  数据库名 表名> 导出的文件名 

          3.导出一个数据库结构 mysqldump -u用户名 -p密码 -d 数据库名 > xxx.sql

          4.导出一个表,只有表结构 mysqldump -u用户名 -p 密码 -d数据库名  表名> 导出的文件名 

        scp 指令把sql文件传到服务器上

        然后在服务器上把数据导到RDS, 指令: mysql -h xxx -u root -p dbname < filename.sql

        (导数据导的好累~ 虽然rails 的数据库迁移指令很方便, 不过遇到要迁移数据的情况就不大好用了, 有gem可以解决问题,

        但是遇到数据表分布比较复杂的情况就比较坑爹了。)    

      

      第三步, 配置线上环境

      走到这里就是安装各种依赖包, 命令行工具了

        安装依赖工具的一些报错:

        prince 工具 用于html 转pdf 功能很好很强大

        error while loading shared libraries: libgif.so.4: cannot open shared object file: No such file or directory

        sudo yum install giflib (解决问题TAT内牛满面)

        prince说字体找不到, 查到原因是需要巨硬的字体core, 第二条指令执行了挺久的, 似乎是文件一直找不到, 估计各种路径找吧,

        快绝望的时候他居然安装好了, 好了, 了....

        yum install curl cabextract xorg-x11-font-utils fontconfig

        rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

        剩下的基本到官网下载了, 上传到服务器就OK, 没遇到太坑的依赖。

    参考资料:

      使用git做服务器端代码的部署   https://www.douban.com/note/407034249/

  • 相关阅读:
    搭建LNAMP环境(四)- 源码安装PHP7
    搭建LNAMP环境(三)- 源码安装Apache2.4
    搭建LNAMP环境(二)- 源码安装Nginx1.10
    搭建LNAMP环境(一)- 源码安装MySQL5.6
    Yii2框架RESTful API教程(二)
    Yii2框架RESTful API教程(一)
    PHP实现RESTful风格的API实例(三)
    centos7部署elk集群(filebeat+kafka+logstash+elasticsearch+kibana)
    centos7部署kafka+zookeeper集群
    ElasticSearch7.5.2通过模板管理索引副本数、分片
  • 原文地址:https://www.cnblogs.com/mahong-shaojiu-ruby/p/5554013.html
Copyright © 2011-2022 走看看