Buenas,
tengo un microservicio con Spring Boot que recoge tweets de Twitter. El caso es que el consumer key, consumer secret, etc, que son necesarios para acceder a la api de twitter los tengo en el application.properties del proyecto. No creo que sea el mejor sitio para tenerlo ,¿no?. ¿Me podríais decir como se suele manejar esto y cómo debería plantearlo con vistas a subirlo a github?
Otra cosa es que tengo el microservicio desplegado en docker, junto con kafka y demás. ¿Hay alguna forma de hacer que al iniciar el contenedor de docker, automaticamente cree el .jar del proyecto y lo inicie? Lo he intentado todo y me da problemas al ejecutar el .jar, porque dice que no encuentra la clase main. He probado con varios plugins para hacer el build del jar pero nada...
docker-compose.yml
java:
container_name: java-microservice
build:
context: .
dockerfile: docker/java/Dockerfile
image: ms-twitter:latest
ports:
- 5111:5111
depends_on:
- check-ksql-db-started
networks:
- elk
Dockerfile
FROM maven:3.8.2-jdk-11 AS build
RUN mkdir /docker
WORKDIR /docker
COPY pom.xml /docker
COPY src /docker
COPY .classpath /docker
COPY .project /docker
RUN mvn install shade:shade
FROM openjdk:18-jdk-alpine
COPY --from=build /docker/target/proyecto-0.0.1-SNAPSHOT-jar-with-dependencies.jar /ms-twitter.jar
EXPOSE 5111
ENTRYPOINT ["java","-jar","/ms-twitter.jar"]
Gracias
Un saludo