Win10 安装 Netflix Conductor

施旭东
2023-12-01

不知道为什么,只有通过git clone git@github.com:Netflix/conductor.git下载,项目才能跑起来。
直接在github上download的代码,跑不起来,会遇到如下的错误。

Build file '/Users/songzj/Downloads/sourceCode/conductor-3.0.1/build.gradle' line: 18

An exception occurred applying plugin request [id: 'nebula.netflixoss', version: '9.2.2']

Failed to apply plugin class 'nebula.plugin.netflixossproject.publishing.PublishingPlugin'.
Task with name 'postRelease' not found in root project 'conductor'.

Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

准备

  1. git bash
  2. idea(为了方便)
  3. gradle6.8.3 (版本最好对的上)
  4. node.js(建议用nvm安装,用nvm记得配置国内镜像下载nodejs和npm,否则可能不能安装npm),我用的14.15.0
  5. conductor2.X用jdk1.8,conductor3及以上要jdk11

安装步骤

  1. 在windows上安装git,并git初始化。可以在CSDN上搜索教程(在windows上安装git克隆项目)。
  2. 设置密钥。可以在CSDN上搜索教程(Windows上GitHub配置密钥)。
    不配置会出现如下错误。git@github.com: Permission denied (publickey). fatal: Could not read from remote repository
  3. 在git bash中选好目标地址,输入git clone git@github.com:Netflix/conductor.git
  4. 配置gradle6.8.3下载地址,用complete
  5. 在idea中配置gradle6.8.3,conductor2.X用jdk1.8,conductor3及以上要jdk11及11+,用idea加载依赖。
  6. 在git里选择branch。2.31可以用。3及以上好像不能在前端的executing里显示workflow,不能加载自带的样例?
  7. 等待idea自动加载依赖,并build得到server。直接用终端有时可能会失败,所以建议用idea。
  8. 按照官方文档Unstalling and Running继续把前端安好。
  9. 如果安装gulp遇到npm ERR!code EINTEGRITY,请CSDN搜索(npm ERR! code EINTEGRITY 解决方案
  10. 如果准备用docker,建议在第7步的基础上继续,因为在dockerfile内编译一样可能会失败。重写/conductor/docker/serverAndUI/dockerfile如下。
    在第7步之后,我把本地下载好并且编译完服务端的conductor文件夹复制镜像。在镜像内安装前端,因为网络原因,我选择本地下载好nodejs的安装包,再复制到镜像里。
#
# conductor:serverAndUI - Netflix conductor server and UI
#
FROM openjdk:8-jdk
MAINTAINER Netflix OSS <conductor@netflix.com>

# Make app folders
RUN mkdir -p /app/config /app/logs /app/libs /usr/local/nodejs /conductor

COPY ./node-v14.17.3-linux-x64.tar.xz  /usr/local/nodejs
RUN cd /usr/local/nodejs && xz -d node-v14.17.3-linux-x64.tar.xz  && tar -xf node-v14.17.3-linux-x64.tar && rm -f node-v14.17.3-linux-x64.tar && mv node-v14.17.3-linux-x64/* /usr/local/nodejs && rm -rf node-v14.17.3-linux-x64

RUN  ln -s /usr/local/nodejs/bin/node /usr/local/bin
RUN  ln -s /usr/local/nodejs/bin/npm /usr/local/bin

# Startup script(s)
COPY ./bin /app

# Configs
COPY ./config /app/config



RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
echo 'deb http://mirrors.163.com/debian/ jessie main non-free contrib' > /etc/apt/sources.list && \
echo 'deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib' >> /etc/apt/sources.list && \
echo 'deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib' >> /etc/apt/sources.list

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CBF8D6FD518E17E1

RUN apt-get update -y   && apt-get -y install git curl   && chmod +x /app/startup.sh

COPY ./conductor conductor
RUN cd conductor && ./gradlew build -x test
RUN mv ./server/build/libs/conductor-server-*-all.jar /app/libs/ \
  && mv ./ui /app \
  && cd /app/ui \
  && npm install \
  && npm run build --server \
  && cd / \
  && rm -rf conductor


EXPOSE 5000 8080

CMD ["/app/startup.sh"]
ENTRYPOINT ["/bin/bash"]

11.改动/conductor/docker/docker-compose.yaml的第一行version:xx。要和docker版本对应的上。搜索docker 与 docker-compose 文件版本 对应关系。

。。。待续,/conductor/docker下面的几个dockerfile的问题,我整理一下,可按照其中每个文件夹下的Readme摸索一下。

 类似资料: