Хорошо, я наконец понял это, хотя, вероятно, по-хакерски. Я просто использовал sed
, чтобы подставить переменную окружения в файл api-keys.ts.
Итак, вот новый скрипт config.yml (обратите внимание на обширные изменения, включая wait-on: 'http-get://localhost:4200'
(обратите внимание на http-get вместо http!).
version: 2.1
orbs:
cypress: cypress-io/cypress@1.5.1
jobs:
build:
working_directory: ~/project
docker:
- image: circleci/node:9.6.1-browsers
environment:
circleCiApiKey: fireBaseApiKey
steps:
- checkout
- run:
name: Show current branch
command: |
echo ${CIRCLE_BRANCH}
ls -larth
echo $fireBaseApiKey
cat src/app/api-keys.ts
sed -i "s/circleCiApiKey/$fireBaseApiKey/g" src/app/api-keys.ts
cat src/app/api-keys.ts
- restore_cache:
keys:
- v1-dependencies-{{checksum "package.json"}}
- v1-dependencies-
- run:
name: Install local dependencies
command: |
npm install
- save_cache:
key: v1-dependencies-{{checksum "package.json"}}
paths:
- node_modules
- run:
name: Building
command: npm run build
- save_cache:
key: v1-dist-{{ .Environment.CIRCLE_BRANCH}}-{{ .Environment.CIRCLE_SHA1}}
paths:
- dist
workflows:
version: 2.1
build:
jobs:
- build
- cypress/install:
requires:
- build
build: 'npm run build'
- cypress/run:
requires:
- cypress/install
- build
start: 'npm start'
store_artifacts: true
wait-on: 'http-get://localhost:4200'
Замена происходит на [ 114] строка.
Файл api-keys.ts, в свою очередь, содержит:
export var masterFirebaseConfig = {
apiKey: "circleCiApiKey",
authDomain: "dataJitsu.firebaseapp.com",
databaseURL: "https://datajitsu.firebaseio.com",
storageBucket: "",
messagingSenderId: "495992924984"
};
export var masterStripeConfig = {
publicApiTestKey: "pk_test_NKyjLSwnMosdX0mIgQaRRHbS",
secretApiTestKey: "sk_test_6YWZDNhzfMq3UWZwdvcaOwSa",
publicApiKey: "",
secretApiKey: ""
};
Apache ActiveMQ уже идет с интегрированным легким поставщиком JNDI. См. эти инструкции относительно использования его.
В основном Вы просто добавляете jndi.properties файл к пути к классу, и Вы сделаны.
java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
# use the following property to configure the default connector
java.naming.provider.url = failover:tcp://localhost:61616
# use the following property to specify the JNDI name the connection factory
# should appear as.
#connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry
# register some queues in JNDI using the form
# queue.[jndiName] = [physicalName]
queue.MyQueue = example.MyQueue
# register some topics in JNDI using the form
# topic.[jndiName] = [physicalName]
topic.MyTopic = example.MyTopic
Используйте jndi.properties файл как это:
java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
# use the following property to configure the default connector
java.naming.provider.url=tcp://jmshost:61616
# use the following property to specify the JNDI name the connection factory
# should appear as.
#connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry
# register some queues in JNDI using the form
# queue.[jndiName] = [physicalName]
#queue.MyQueue = example.MyQueue
# register some topics in JNDI using the form
# topic.[jndiName] = [physicalName]
topic.myTopic = MY.TOPIC
Удостоверьтесь, что этот файл находится в Вашем пути к классу. Затем Вы можете поиск тема/очередь как это (минус соответствующая попытка/выгоды):
context = new InitialContext(properties);
context = (Context) context.lookup("java:comp/env/jms");
topicConnectionFactory = (TopicConnectionFactory) context.lookup("ConnectionFactory");
topic = (Topic) context.lookup("myTopic");
JBoss JMQ может также быть выполнен только с MicroKernel и очень минимальным набором библиотек. Установщик AS JBoss имеет опции для "профилей", один из которых для автономного JMQ. Это также позволяет Вам привередливо выбирать компоненты (хотя это не помогает Вам с зависимостями слишком много). Вы попытались запустить установщик?