[关闭]
@zhangever 2018-01-04T06:41:16.000000Z 字数 2298 阅读 1575

大鹏框架学习指南

dapeng today


目标:

  1. 学习docker的基本用法
  2. 学习大鹏服务化框架的基本用法
  3. 把之前的scala作业通过大鹏框架包装成服务

docker的使用

  1. 安装docker社区版最新版本, http://www.docker.io
  2. 在命令行下执行:docker login docker.oa.51xinzhi.com:5000
  3. 用户名/密码:tuikor-dev/w5#xz~7hfC
  4. 拉取mysql以及zookeeper镜像:

    docker pull docker.oa.51xinzhi.com:5000/basic/zookeeper:3.4.9-alpine
    docker pull docker.oa.51xinzhi.com:5000/develop/mysql:alpine

  5. 启动zookeeper容器,并命名为zk
    docker run -p 2181:2181 -d --name zk docker.oa.51xinzhi.com:5000/basic/zookeeper:3.4.9-alpine
  6. 启动mysql容器

    docker run --name mysql -p 3306:3306 -v /data/mysql:/app/mysql -e MYSQL_ROOT_PASSWORD=root -d docker.oa.51xinzhi.com:5000/develop/mysql:alpine
    其中, -v 后面的格式是: 宿主机目录:容器目录, 意思是把容器里面的某个目录映射到宿主机目录, 这样容器重建也不会丢失数据,根据本地环境需要设置宿主机目录

  7. 查看是否启动成功

    docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    2d306e4acd94 docker.oa.51xinzhi.com:5000/basic/zookeeper:3.4.9-alpine "zkServer.sh start..." 40 minutes ago Up 3 seconds 2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp zk

  8. 停止/启动容器

    docker stop zk
    docker start zk

  9. 查看mysql数据

    如宿主机安装有mysql客户端,可通过mysql客户端直接访问.
    否则可进入容器里面通过mysql命令行查看
    docker exec -it mysql sh
    mysql -uroot -p

大鹏服务化框架学习

假设工作空间(workspace)根目录为$workspace(例如我本机workspace为~/dev/)

  1. 进入workspace目录
  2. 下载并安装大鹏服务化框架:
    2.1 git clone https://github.com/isuwang/isuwang-soa.git
    2.2 进入项目目录,切换至scala_2.12分支:
    cd isuwang-soa
    git checkout newDapeng
    2.3 安装 mvn clean install
  3. 回到$workspace.安装大鹏sbt插件
    3.1 git clone https://github.com/isuwang/sbt-dapeng.git
    3.2 在newDapeng分支, 执行: sbt publishLocal
  4. 使用大鹏sbt插件创建基于大鹏服务化框架的项目, 并能通过api文档站点在线测试服务接口.
    4.1 进入workspace目录,并输入如下命令:
    sbt new isuwang/dapeng-soa.g8
    4.2 根据需要输入相关参数,即可生成一个样板工程.


更多大鹏框架的文档, 请参看:
1. https://github.com/isuwang/isuwang-soa
2. https://github.com/isuwang/sbt-dapeng

sbt配置

  1. 配置本地sbt配置文件:
    在用户的根目录下把下面的内容添加到~/.sbt/repositories中(如果没有就创建一个,其中maven-local根据本地情况做修改):

    [repositories]
    local
    maven-local:file://Users/ever/.m2/repository/
    repox-maven: http://maven.aliyun.com/nexus/content/groups/public
    repox-ivy: http://112.74.161.115:8078/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/artifact.[ext]

  2. 配置sbt,使它仅使用~/.sbt/repositories中的内容
    2.1 如果是idea用户,配置Preferences -> Build Tools -> SBT -> JVM Options -> VM parameters ,加上-Dsbt.override.build.repos=true
    2.2 如果是mac用户,且使用命令行的话,

    vi /usr/local/etc/sbtopts
    添加一行:-Dsbt.override.build.repos=true

一般来说, 配置了第1点基本上就没问题了. 切记不要在~/.sbt/repositories中添加无关的仓库或者代理.

其他注意事项

  1. 在通过sbt插件创建项目的过程中, 项目名字不能使用'-'
  2. 如果在sbt插件过程中,按回车导致出现^M符号, 那么:
    2.1 尝试退出sbt插件(ctrl+c), 然后在命令行中输入stty sane 或者
    2.2 关闭当前命令行窗口重新打开,再使用sbt插件创建项目
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注